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); factory = 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 

しかし、ここで「北」にアクセスして値「北」を取得したいのですが、どうすればよいですか?

ありがとう

4

1 に答える 1

0

次のように XPath で述語を使用できます//address/lists/description[@name="localization"][]述語に@使用され、属性を選択するために使用されます。したがって、前の式は、属性が に等しいdescriptionノード (以下) を選択します。XPath に関して役立つ Web サイトがいくつかあります。W3schools はその 1 つです。Matlab で使用される XPath の実装についてさらにヘルプが必要な場合は、Java の実装を参照してください。Java は Matlab で直接使用でき (コードはこの例です)、Matlab 内で XML 処理は Java で行われます。address/listsnamelocalization

于 2012-04-23T13:53:34.527 に答える