0

XPath から LINQ to XML に切り替えたい

私のXPathコードは次のようになります。

s_veraenderterknoten = e.Node.Text
xn_Nodeveraendern = m_oxmldoc.SelectSingleNode("//" & s_veraenderterknoten & "")

LINQ to XML でこれを行うにはどうすればよいですか?

私はこのようにしてみました

dim xn_Nodeveraendern as XElement = m_oxmldoc("bla").(s_veraenderterknoten)

しかし、これは機能しません

----- 拡張情報: xml 例: XML 情報:

<Node ID="01|37b36d32-f11f-4b00-ae34-fcf63fb7f6a2" Status="1" Index="1">
  <Bez Spra="ENG">test1 eng</Bez>
  <Bez Spra="DEU">test2 eng</Bez>
  <Files>
    <File Link="01\097C06E9EE4841E5B31811CFA91732B0_1.XML" FileTyp="FG" Index="0" Export_SeqID="01" sub="01\097C06E9EE4841E5B31811CFA91732B0_1.XML" XBAP="1">
      <Bez Spra="DEU">Scorecard test1 1</Bez>
      <Bez Spra="ENG">Scorecard test2 1</Bez>
    </File>
    <File Link="01\37B36D32F11F4B00AE34FCF63FB7F6A2.XLSX" FileTyp="FI" Index="1" Export_SeqID="01" sub="01\37B36D32F11F4B00AE34FCF63FB7F6A2.XLSX" XBAP="0">
      <Bez Spra="DEU">A -C test1</Bez>
      <Bez Spra="ENG">A-C test2</Bez>
    </File>
  </Files>
</Node>
<Node ID="01|4eeca9d3-379d-40f5-868c-9aad1a9ed327" Status="1" Index="2">
  <Bez Spra="ENG">Production test 1</Bez>
  <Bez Spra="DEU">Produktion test 2</Bez>
  <Files>
    <File Link="01\4B9A6942C90F4FFC9804C63F792E0938.XLSX" FileTyp="FI" Index="0" Export_SeqID="01" sub="01\4B9A6942C90F4FFC9804C63F792E0938.XLSX" XBAP="0">
      <Bez Spra="DEU">Kennzahlen test 1</Bez>
      <Bez Spra="ENG">Key test 2</Bez>
    </File>
  </Files>
</Node>

使用例: ユーザーはグリッドビューで情報を確認し、任意の XML ノードを選択できるようになりました。「e.Node.Text」には、選択したノードに関する情報が含まれています。ここで、XML 内のノードを選択して、新しい情報などを編集/追加したいと考えています。

4

1 に答える 1

0

解決策を見つけました。

それが最善の方法であるかどうかはわかりませんが、次のコードで動作するようです:

xn_Nodeveraendern = From var In m_oxmldoc.Descendants Where var.Name = s_veraenderterknoten
于 2013-02-05T09:32:14.207 に答える