您的位置首页百科知识

字符串中如何提取xml格式内容

字符串中如何提取xml格式内容

的有关信息介绍如下:

字符串中如何提取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";

运行并向控制台输出结果,如下图: