2012-04-23 5 views
0

в следующем примере xml Я пытаюсь получить доступ к узлам и получить значения следующим образом: Можно ли читать, сравнивать и искать строки specefic в xml-файлах, используя xpath из Matlab? Я не могу найти документацию.доступ к узлам xml и получение значений xpath

Может ли кто-нибудь дать мне пример?

здесь, чтобы получить доступ к описанию имени = "локализации">:

<?xml version="1.0" encoding="UTF-8"?> 
<address xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation='test.xsd'> 
    <lists name="myState"> 
      <description name="-temp">-20</description> 
      <description name="localization">north</description> 
      <description name="-state">false</description> 
     </lists> 
    </address> 
    <language language="english" name=""> 
     <description name="population">5000</description> 
    </language> 

я сделал: docNode = xmlread (myXMLFILE); завод = XPathFactory.newInstance; xpath = factory.newXPath;

% compile and evaluate the XPath Expression 
expression = xpath.compile(adress/lists/description') 
description = expression.evaluate(docNode, XPathConstants.NODE); 
descriptionValue = phoneNumberNode.getTextContent % this gives me -20 

, но здесь я хочу, чтобы получить доступ к «северу», чтобы получить значение «Нота», как я мог procceed?

благодарит

ответ

0

Вы можете использовать предикаты XPath, как это: //address/lists/description[@name="localization"]. [] используется для предикатов, @ используется для выбора атрибутов. Таким образом, предыдущее выражение выбирает узлы description (ниже address/lists) с атрибутом name, равным localization. Есть несколько веб-сайтов, которые могут помочь вам в отношении XPath. W3schools is one. Если вам нужна дополнительная помощь в реализации XPath, используемая Matlab, вы должны посмотреть на Java's implementation. Java можно использовать непосредственно в Matlab (ваш код является примером этого), а внутри Matlab обработка XML выполняется на Java.

+0

привет, пожалуйста, не могли бы вы разработать больше, есть ли какая-то функция, которая позволяет мне получить доступ к любому значению узла и проверить содержимое xml? – lola