为了获取 XML 文档中元素的值,我编写了如下内容:
XmlNodeList nodo = documentoXml.GetElementsByTagName("Fecha");
这将返回一个具有指定名称的元素列表,我可以通过它们在列表中的位置访问它们的值。例如:
string Fecha = nodo[0].InnerXml;
但是如果元素有像 Detail 元素这样的子元素,我怎样才能得到它们的值呢?例如:
<?xml version="1.0" encoding="UTF-8"?>
-<FacturaElectronica xmlns="https://tribunet.hacienda.go.cr/docs/esquemas/2017/v4.2/facturaElectronica" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Clave>50628031800310140886100100001010000000003145592145</Clave>
<NumeroConsecutivo>00100001010000000003</NumeroConsecutivo>
<FechaEmision>2018-03-28T08:00:24-04:00</FechaEmision>
-<Emisor>
<Nombre>NEOTECNOLOGIAS SA</Nombre>
-<Identificacion>
<Tipo>02</Tipo>
<Numero>3101408861</Numero>
</Identificacion>
<NombreComercial>NEOTECNOLOGIAS SA</NombreComercial>
-<Ubicacion>
<Provincia>1</Provincia>
<Canton>02</Canton>
<Distrito>01</Distrito>
<Barrio>01</Barrio>
<OtrasSenas>CENTRO CORPORATIVO PLAZA ROBLE EDIFICIO LAS TERRAZAS 5TO PISO</OtrasSenas>
</Ubicacion>
-<Telefono>
<CodigoPais>506</CodigoPais>
<NumTelefono>40701540</NumTelefono>
</Telefono>
-<Fax>
<CodigoPais>506</CodigoPais>
<NumTelefono>40701540</NumTelefono>
</Fax>
<CorreoElectronico>[email protected]</CorreoElectronico>
</Emisor>
-<Receptor>
<Nombre>Dental Care</Nombre>
-<Identificacion>
<Tipo>02</Tipo>
<Numero>3001123208</Numero>
</Identificacion>
<NombreComercial>Dental Care</NombreComercial>
-<Ubicacion>
<Provincia>1</Provincia>
<Canton>01</Canton>
<Distrito>01</Distrito>
<Barrio>01</Barrio>
<OtrasSenas>Amon</OtrasSenas>
</Ubicacion>
-<Telefono>
<CodigoPais>506</CodigoPais
<NumTelefono>40701590</NumTelefono>
</Telefono>
-<Fax>
<CodigoPais>506</CodigoPais>
<NumTelefono>40701590</NumTelefono>
</Fax>
<CorreoElectronico>[email protected]</CorreoElectronico>
</Receptor>
</FacturaElectronica>
如何获取Detail节点的Number和Reference子节点的值?
好吧,根据您的工作方式,您可以恢复Detail节点 并在其中恢复节点(将是子节点),然后指定要恢复的节点。
附上一小段代码,我不太懂C#,我一直在VB,但希望你能理解这个想法。
如果你敢于使用 linq to xml,你可以使用类似这样的东西
如您所见,处理节点并将其转换为对象非常简单
获取 XML 文档元素值的一种方法是使用 XPATH 语法,这样可以根据其在文档中的位置直接或随机访问它...
我解释
例如,如果文档中有几个名为Number的元素,我们想获取该类型的第二个元素的值,我们执行以下操作: