获取xml字符串中的属性值

Posted 李文平

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取xml字符串中的属性值相关的知识,希望对你有一定的参考价值。

pagexml = @"<?xml version=‘1.0‘ encoding=‘utf-8‘?>

<DATAPACKET Version=‘2.0‘>
<METADATA>
<FIELDS>
<FIELD attrname=‘vMbillID‘ fieldtype=‘string‘ required=‘true‘ WIDTH=‘20‘>
<PARAM Name=‘ORIGIN‘ Value=‘vMbillID‘ Roundtrip=‘True‘/>
</FIELD>
<FIELD attrname=‘rq‘ fieldtype=‘SQLdateTime‘>
<PARAM Name=‘ORIGIN‘ Value=‘rq‘ Roundtrip=‘True‘/>
</FIELD>
</FIELDS>
<PARAMS/>
</METADATA>
<ROWDATA>
<ROW vMbillID=‘02_xpd000005‘ rq=‘20161125T09:40:10000‘ vShop=‘02‘ vEmpCode=‘02_000‘ vStyle=‘32460006‘ vColor=‘0‘ vSize=‘0‘ fPrice=‘49‘ zk=‘1‘ fRealPrice=‘49‘ fRealMoney=‘49‘ fQuantity=‘1‘/>
<ROW vMbillID=‘02_xpd000005‘ rq=‘20161125T09:40:10000‘ vShop=‘02‘ vEmpCode=‘02_000‘ vStyle=‘16111613‘ vColor=‘07‘ vSize=‘0‘ fPrice=‘209‘ zk=‘0.88‘ fRealPrice=‘184‘ fRealMoney=‘184‘ fQuantity=‘1‘/>
</ROWDATA>
</DATAPACKET>";


XmlDocument doc = new XmlDocument();
doc.LoadXml(pagexml);
XmlNodeList DATAPACKET = doc.SelectNodes("/DATAPACKET");
if(DATAPACKET != null)
{
foreach (XmlNode schoolNode in DATAPACKET)
{
XmlNode gradesNode = schoolNode.SelectSingleNode("ROWDATA");
if(gradesNode != null)
{
foreach (XmlNode rows in gradesNode)
{
DataRow R = dt.NewRow();
R["DocNo"] = rows.Attributes["vMbillID"].Value;
R["SalesDate"] = rows.Attributes["vMbillID"].Value;
R["SalesTime"] = rows.Attributes["vMbillID"].Value;
R["AdjustMoney"] = rows.Attributes["vMbillID"].Value;
dt.Rows.Add(R);
}
dv = new DataView(dt);
}

}
}

以上是关于获取xml字符串中的属性值的主要内容,如果未能解决你的问题,请参考以下文章

如何将 XML 属性值添加到包含对象的字典中

如何使用powershell从xml中获取属性值?

从 Java 中的 XML 字符串中检索属性值

【求助】Dom4j 生成xml,节点增加属性时,属性值中有特殊字符,如何做到不转义

从包含在字符串中的 XML 获取值

如何从 C# 中的 xml 字符串中获取特定值