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