我想从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中选择节点来编辑/添加新信息,等等。
答案 0 :(得分:0)
我找到了解决方案。
我不知道这是否是最佳方式,但似乎可以使用此代码:
xn_Nodeveraendern = From var In m_oxmldoc.Descendants Where var.Name = s_veraenderterknoten