XPath C#使用属性名称搜索以获取另一个属性

时间:2017-08-29 07:55:09

标签: c# xml xpath

我在这里真的很新,这是我的第一个问题:)

我正在开发一个Web服务,我需要获取一个属于其他属性的属性。

我工作的示例XML如下:

<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" 
xmlns:tns="urn:microsoft-dynamics-schemas/codeunit/Prueba" 
targetNamespace="urn:microsoft-dynamics-schemas/codeunit/Prueba">
<types>
<schema xmlns="http://www.w3.org/2001/XMLSchema" 
elementFormDefault="qualified" targetNamespace="urn:microsoft-dynamics-
schemas/codeunit/Prueba">
<element name="FuncionPublica">
<complexType>
<sequence/>
</complexType>
</element>
<element name="FuncionPublica_Result">
<complexType>
<sequence/>
</complexType>
</element>
<element name="FuncionParam">
<complexType>
<sequence>
<element minOccurs="1" maxOccurs="1" name="parametro1" type="int"/>
</sequence>
</complexType>
</element>
<element name="FuncionParam_Result">
<complexType>
<sequence/>
</complexType>
</element>
<element name="FuncionVar">
<complexType>
<sequence>
<element minOccurs="1" maxOccurs="1" name="num" type="int"/>
</sequence>
</complexType>
</element>
<element name="FuncionVar_Result">
<complexType>
<sequence>
<element minOccurs="1" maxOccurs="1" name="num" type="int"/>
</sequence>
</complexType>
</element>
<element name="FuncionReturn">
<complexType>
<sequence/>
</complexType>
</element>
<element name="FuncionReturn_Result">
<complexType>
<sequence>
<element minOccurs="1" maxOccurs="1" name="return_value" type="int"/>
</sequence>
</complexType>
</element>
</schema>
</types>
</definitions>

我需要得到&#34; definitions / types / schema / element / @ name =&#39; FuncionParam&#39;&#34;进入该节点并遵循XPath搜索。 进入该节点后,我需要浏览它以达到&#34; name =&#39; parametro1&#39;&#34;并获得该属性值。

我测试了以下但没有工作,总是返回null:

var parametroFuncion = doc.XPathSelectElement("//element[@name=" + 
nombreFuncionText + "]/complexType/sequence/element").Attribute("name");

我已经使用namespacemanager测试了命名空间,并且还返回了null。我不知道自己错了什么。

非常感谢任何想法或提示提供帮助。提前谢谢。

0 个答案:

没有答案