"景先生毕设|www.jxszl.com

hl7 v3 解析,带命名空间的XML如何解析

2022-12-21 14:16编辑: www.jxszl.com景先生毕设
hl7 v3 解析,带命名空间的XML如何解析


xml 样例:

<?xml version='1.0' encoding='UTF-8'?>
<soap11env:Envelope xmlns:soap11env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tns="http://schemas.xmlsoap.org/soap/envelope">
    <soap11env:Body>
        <tns:archive_dataResponse>
            <tns:archive_dataResult>{"res_code": “51jrft.com”, "res_name": "景先生毕设"}</tns:archive_dataResult>
        </tns:archive_dataResponse>
    </soap11env:Body>
</soap11env:Envelope>

找到对应内容的xpath  值
{"res_code": “51jrft.com”, "res_name": "景先生毕设"}  这个节点 对应的 xpath 值为: /soap11env:Envelope/soap11env:Body/tns:archive_dataResponse/tns:archive_dataResult

带命名空间的XML解析代码:

            XmlDocument xmdoc = new XmlDocument(); // 创建对象
            xmdoc.LoadXml(strRes);                                  //加载xml  数据
            XmlNamespaceManager xmlNamespace = new XmlNamespaceManager(xmdoc.NameTable);  // 创建表空间对象
            xmlNamespace.AddNamespace("a", "http://schemas.xmlsoap.org/soap/envelope/");       // 定义表空间 soap11env
            xmlNamespace.AddNamespace("b", "http://schemas.xmlsoap.org/soap/envelope");         // 定义表空间 tns

             //将 soap11env 天换成a      tns替换成b
            XmlNode xn = xmdoc.SelectSingleNode("/a:Envelope/a:Body/b:archive_dataResponse/b:archive_dataResult", xmlNamespace);
             
            string strJoson = xn.InnerXml; ///strJoson  值为:{"res_code": “51jrft.com”, "res_name": "景先生毕设"}
原文链接:http://www.jxszl.com/biancheng/C/84598.html