2013-01-31 65 views
0

我想從XPath的切換到LINQ到XML訪問的XElement具有可變

我XPath的代碼如下所示:

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

我怎樣才能做到這一點使用LINQ到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」包含信息ab取出選定的節點。現在我想選擇我的XML中的節點來編輯/添加新信息等等。

+0

你能使用XML例如擴大你的問題,你想要什麼,從它那裏得到? – mipe34

回答

0

我找到了解決方案。

我不知道wheter這是最好的方法還是不行,但似乎與此代碼工作:

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