如何解决从 XML 表打印数量到 asp.net
我试图让它发挥作用,但收效甚微,我尝试使用一些示例,但没有一个完全符合我的要求,简单地说,我知道我必须做什么,我只是不知道了解如何去做。
我试图从一个 xml 表中获取大于 10 的数量,然后我试图打印它们存在的数量。
XML 文件示例:
<PurchaseCollection xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<purchases>
<Purchase>
<id>1</id>
<fullName>Annet Stevens</fullName>
<emailAddress>annet@stevens.com</emailAddress>
<productname>Sandal wood</productname>
<unitprice>500</unitprice>
<quantity>11</quantity>
</Purchase>
<Purchase>
<id>2</id>
<fullName>Bert Waywood</fullName>
<emailAddress>bert@waywood.com</emailAddress>
<productname>Sandal Leaf</productname>
<unitprice>17</unitprice>
<quantity>25</quantity>
</Purchase>
</purchases>
</PurchaseCollection>
正在使用的 ASP.Net 后端代码示例。
//Attempt to count quantity greater than 10.
const string FILENAME1 = "GoodXML.xml";
String file1 = Path.Combine(AppDomain.CurrentDomain.BaseDirectory,FILENAME);
XmlDocument doc = new XmlDocument();
doc.Load(file1);
XmlNode quantity = doc.SelectSingleNode("/PurchaseCollection/purchases/Purchase/[quantity>10]");
string comments = quantity.InnerText;
//Req (using System.Xml;)
Label1.Text = comments (Total amount of quantity here.);
我正在使用带有绑定的网格视图表,这可能会导致问题,但由于它在一个单独的部分中,我不认为这是一个案例。
前端代码示例:
<p><asp:Label ID="Label1" runat="server" Text="" ></asp:Label></p>
目前我遇到了“表达式必须评估为节点错误”,我理解这是因为它无法找到“数量”的节点。
我相信我已经完成了大约 80%,我希望更有经验的人可以提供见解。 请不要过度设计解决方案,理想情况下,示例越简单越好
解决方法
最好使用 LINQ to XML API。自 2007 年以来,它在 .Net Framework 中可用。
c#
void Main()
{
const string FILENAME = @"e:\temp\GoodXML.xml";
XDocument xdoc = XDocument.Load(FILENAME);
int counter = xdoc.Descendants("quantity")
.Where(x => Convert.ToInt32(x.Value) > 10)
.Count();
Console.WriteLine("Counter: {0}",counter);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。