0

在以下 xml 示例中,我尝试访问节点并获取如下值:是否可以使用 Matlab 中的 xpath 读取、比较和查找 xml 文件中的特定字符串?我没有找到任何文档。

有人可以给我一个例子吗?

在这里访问 description name="localization"> :

<?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 

但是在这里我想访问'north'来获得'Noth'的值,我该如何进行?

谢谢

4

1 回答 1

0

您可以像这样在 XPath 中使用谓词//address/lists/description[@name="localization"][]用于谓词,@用于选择属性。所以前面的表达式选择属性等于的description节点(下面) 。有几个网站可以帮助您了解 XPath。W3schools 就是其中之一。如果您在 Matlab 使用的 XPath 实现方面需要更多帮助,您应该查看Java 的实现。Java 可以直接在 Matlab 中使用(您的代码就是一个例子)并且在 Matlab 中 XML 处理是在 Java 中完成的。address/listsnamelocalization

于 2012-04-23T13:53:34.527 回答