当前位置: 首页 > 知识库问答 >
问题:

将数量从XML工作表打印到ASP.NET

宣星光
2023-03-14

我试着让这个工作,但没有多少成功,我试着用了几个例子,但没有一个完全符合我的要求,简单地说,我知道我必须做什么,我只是不明白怎么做。

我尝试从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%的路了,我希望有更有经验的人可以提供见解。请不要过度设计解决方案,理想情况下,示例越简单越好

共有1个答案

宗政霄
2023-03-14

最好使用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);
}
 类似资料:
  • 问题内容: 我有一个包含XML的Java字符串,没有换行或缩进。我想将其转换为格式正确的XML字符串。我该怎么做呢? 注意:我的输入是String。我的输出是String。 (基本)模拟结果: 问题答案: 注意:结果可能因Java版本而异。搜索特定于你的平台的解决方法。

  • 我们希望打印到连接在apache运行的POS打印机上。由于应用程序的设计和部署,打印应该从服务器上完成(它应该检测订单并发送到不同的打印机和不同格式的打印...账单,厨房订单,等等...)。出于这个原因和其他原因(例如,从iPad访问应用程序),我们放弃了像QZ-Print applet这样的选项,并需要直接在服务器端打印。 提前谢了。

  • 题目链接 牛客网 题目描述 从尾到头反过来打印出每个结点的值。 解题思路 1. 使用递归 要逆序打印链表 1->2->3(3,2,1),可以先逆序打印链表 2->3(3,2),最后再打印第一个节点 1。而链表 2->3 可以看成一个新的链表,要逆序打印该链表可以继续使用求解函数,也就是在求解函数中调用自己,这就是递归函数。 // java public ArrayList printListFro

  • 问题内容: w3resources的挑战之一是将pi打印到“ n”个小数位。这是我的代码: 无论出于何种原因,它都会自动打印pi,而无需考虑任何输入。任何帮助将是巨大的:) 问题答案: 为什么不只使用: 更一般地说: 在您的原始方法中,我想您正在尝试使用多个数字作为循环的控制变量,这很容易理解,但在您的情况下不起作用,因为从未使用过用户输入的首字母。而是由字符串中的iteratee值代替。

  • 问题内容: 我想将数组打印到文件中。 我希望文件看起来像这样的代码完全相似。 假设$ abc是一个数组。 是否有任何一种解决方案,而不是每次外观都是常规的。 PS-我目前使用序列化,但是我想使文件可读,因为使用序列化数组很难读取。 问题答案: 无论是或将返回输出,而不是打印出来的。 PHP手册中的示例 然后,您可以使用保存。或在写入文件时直接将其返回:

  • 我假设eclipse中存在一些限制,阻止将大量数字打印到控制台。 编辑:在5572处,控制台的输出将被清除,这是输出: 你想看多少个素数?5572