使用变量访问XELement

时间:2013-01-31 15:58:49

标签: xml vb.net linq-to-xml

我想从XPath切换到LINQ到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 expample: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>

用例: 用户在gridview中看到信息,现在他可以选择任何XML节点: “e.Node.Text”包含有关所选节点的信息。现在我想在我的XML中选择节点来编辑/添加新信息,等等。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。

我不知道这是否是最佳方式,但似乎可以使用此代码:

xn_Nodeveraendern = From var In m_oxmldoc.Descendants Where var.Name = s_veraenderterknoten