我的数据xml如下所示:
<ListeNoeuds>
<Noeud>
<Cle>Commande</Cle>
<Attributs>
<Noeud>
<Cle>nbrActionTraitees</Cle>
<Valeur>25</Valeur>
</Noeud>
<Noeud>
<Cle>nbrErreurs</Cle>
<Valeur>32</Valeur>
</Noeud>
<Noeud>
<Cle>SujetEmail</Cle>
<Valeur>Compte rendu du défichage Préventel XXXXXXXX</Valeur> </Noeud>
</Attributs>
<SousNoeuds>
<Noeud>.
我只想提取值,其中cle = SujetEmail。这意味着我想要得到这个值: Compte rendu du défichage Préventel XXXXXXXX
我试过了:
string Sujetmail = paramsXml.SelectSingleNode("/ListeNoeuds/Noeud/Attributs/Noeud/Cle[text()='SujetEmail']).InnerText;来获取cle的值。这是工作。
但当我修改以获得valeur的值时,如下所示:
string Sujetmail = paramsXml.SelectSingleNode("/ListeNoeuds/Noeud/Attributs/Noeud/Cle[text()='SujetEmail']/following-sibling").InnerText;我得到了null
我也尝试过这样做:
string Sujetmail = paramsXml.SelectSingleNode("/ListeNoeuds/Noeud/Attributs/Noeud/Cle[text()='SujetEmail']/following-sibling::string[1]").ToString();请帮我弄到null..help。
发布于 2017-07-27 20:44:28
正确的XPath是
/ListeNoeuds/Noeud/Attributs/Noeud[Cle/text()='SujetEmail']/Valeur发布于 2017-07-27 20:53:02
试试这个:
paramsXml.SelectSingleNode("/ListeNoeuds/Noeud/Attributs/Noeud[Cle[text()='SujetEmail']]/Valeur").InnerText;发布于 2017-07-27 20:52:23
感谢您的回复...我找到了这样的解决方案:
XmlNode FindSujet = paramsXml.SelectSingleNode("/ListeNoeuds/Noeud/Attributs/Noeud/Cle[text()='SujetEmail']");
string Sujetmail = FindSujet.NextSibling.InnerText;https://stackoverflow.com/questions/45350684
复制相似问题