2016-08-19 5 views
-1

XSLファイルを使用してXML要素の値を読み取ろうとしています。私のXMLファイルは次のようである:xslのxml値を読み取る

<parameters> 
    <parameter id="1338240713" name="Color and structure" xml:lang="eng"> 
    <value id="1338239139" name="striped" xml:lang="eng"/> 
    <value id="1338240721" name="black" xml:lang="eng"/> 
    <value id="1338240724" name="12321312" xml:lang="eng"/> 
    <value id="1338243166" name="red" xml:lang="eng"/> 
    </parameter> 
    <parameter id="1338245472" name="State" xml:lang="eng" iaiext:context_id="CONTEXT_STATE"> 
    <value id="1338245473" name="New" xml:lang="eng" iaiext:context_id="CONTEXT_STATE_NEW"/> 
    </parameter> 
</parameters> 

私が読みたい:parameters > parameter [name "State"] > value [name]

+1

私は、あなたが "読む"という意味を具体的にするべきだと思います。名前はxpath式 'parameters/parameter [@ name =" State "]/@ nameになりますが、これは常に" State "になりますか? –

+0

しかし、エラー "属性の構築エラー" – pasza

+0

。あなたがあなたの質問で読んでみたいことは、私は理解できません。あなたはxpathで何を得ますか? xsltのコンテキストを表示できますか? xpathは、xsltでコンテキスト固有のものです。 –

答えて

0

をなど整形 XMLを考える:

XML

<parameters xmlns:iaiext="http://example.com/iaiext"> 
    <parameter id="1338240713" name="Color and structure" xml:lang="eng"> 
     <value id="1338239139" name="striped" xml:lang="eng"/> 
     <value id="1338240721" name="black" xml:lang="eng"/> 
     <value id="1338240724" name="12321312" xml:lang="eng"/> 
     <value id="1338243166" name="red" xml:lang="eng"/> 
    </parameter> 
    <parameter id="1338245472" name="State" xml:lang="eng" iaiext:context_id="CONTEXT_STATE"> 
     <value id="1338245473" name="New" xml:lang="eng" iaiext:context_id="CONTEXT_STATE_NEW"/> 
    </parameter> 
</parameters> 

次の命令を:

<xsl:value-of select="/parameters/parameter[@name='State']/value/@name"/> 

は、"New"という文字列を返します。

+0

これは私が欲しいものです。ありがとうございます! – pasza

関連する問題