1

次の XML 構文があります。

<Properties>
    <Property>
        <Name>Author</Name>
        <Type>Object</Type>
        <Value>somevalue</Value>
    </Property>
    <Property>
        <Name>Title</Name>
        <Type>String</Type>
        <Value>Word files</Value>
    </Property>
    <Property>
        <Name>Path</Name>
        <Type>String</Type>
        <Value>/path/subfolder/directory/somevalue.doc</Value>
    </Property>
    <Property>
        <Name>Rank</Name>
        <Type>Int64</Type>
        <Value>804</Value>
    </Property>
    <Property>
        <Name>Size</Name>
        <Type>Int64</Type>
        <Value>0</Value>
    </Property>
</Properties>

基本的に、そのようなプロパティ セットは 1 つで、あと 10 ほどあります。Value ノード内のテキストと、Name タグ [Author,Title,Path,Rank,Size] に含まれる te​​xt() に関連するテキストにアクセスする必要があります。基本的に、私の XPathQueries は一連のタグ テキストを返します。

それに対する私のアプローチは次のようなものです:

XPathQuery("//Property/Name//*text()='Author']/Type/Value");

しかし、それはうまくいきません!そして今、私は髪を引き裂くまであと20分です:(

記録のために、それが問題であれば、私はJavaでプログラミングしているので、Java Xpathライブラリを使用しています。

4

3 に答える 3

1
Properties/Property [Name = 'Author']/Value
于 2012-09-21T02:50:24.627 に答える
0

使用

/*/Property[Name = 'Author']/Value
于 2012-09-22T03:38:20.177 に答える
0

あなたが何をしようとしているのか、私には100%確信が持てません。必要なのが<Value>、プロパティのタグ内のテキストで、指定されたテキストが の<Name>場合、これは機能するはずです (の場合Author):

//Property[./Name[contains(.,'Author')]]/Value/text()
#=> "somevalue"

ただし、Java ではなく nokogiri/ruby を使用しているため、これがあなたのセットアップで動作するかどうかは確認できません。

于 2012-09-21T02:53:02.603 に答える