字符串中如何提取xml格式内容
的有关信息介绍如下:系统中接收到的是字符串,但具体内容是以xml格式组成的字符串数据,该如何去解析并提取相关的内容呢?本文以一份简易EDI内容为例作提取xml格式内容的解析说明。
将一份xml格式的EDI报文读入到系统中,具体代码如下:
XmlDocument xmlBooking = new XmlDocument();
xmlBooking.Load("x:\\CNEDI.xml");
为了测试的需要,将所读入的文件内容,赋值给字符串:
string strXml = xmlBooking.InnerXml;
运行以上测试程序,并向控制台输出结果,可以看到字符串的具体内容,如下图:
接下来,我们就来提取这个字符串中的xml格式内容。将字符串转换为XmlDocument ,代码如下:
XmlDocument strToXml = new XmlDocument();
strToXml.LoadXml(strXml);
利用 GetElementsByTagName 方法来返回匹配的元素列表,代码如下:
XmlNodeList node = strToXml.GetElementsByTagName("vesselEnglishName");
通过分析字符串中的xml格式内容,"vesselEnglishName"仅有唯一的一个元素,所以可以直接使用 Item(0) 来获得该节点,并用 InnerText 取得具体的节点值。代码如下:
strEdi = strEdi + node.Item(0).InnerText + "\n";
分析xml格式内容,可以依次取得相应节点的值,代码如下:
node = strToXml.GetElementsByTagName("vesselChineseName");
strEdi = strEdi + node.Item(0).InnerText + "\n";
node = strToXml.GetElementsByTagName("vesselVoyage");
strEdi = strEdi + node.Item(0).InnerText + "\n";
运行并向控制台输出结果,如下图: