【问题标题】:XML and JSP parsing in C#C# 中的 XML 和 JSP 解析
【发布时间】:2017-07-12 04:15:52
【问题描述】:

我有这个 XML 提要文件,但我不知道如何处理问题。 所以,代码是:

<PRICE>
<WIC>GA-H110M-S2H</WIC>
<DESCRIPTION>
GIGABYTE Main Board Desktop INTEL H110 (Socket LGA1151,2xDDR4,VGA/HDMI/DVI,1xPCIEX16/2xPCIEX1,USB3.0/USB2.0, 6xSATA III,LAN) micro ATX retail
</DESCRIPTION>
<VENDOR_NAME>GIGABYTE</VENDOR_NAME>
<GROUP_NAME>Main Board Desktop</GROUP_NAME>
<VPF_NAME/>
<CURRENCY_CODE>USD</CURRENCY_CODE>
<AVAIL>0</AVAIL>
<RETAIL_PRICE>56.40</RETAIL_PRICE>
<MY_PRICE>52.71</MY_PRICE>
<WARRANTYTERM>36</WARRANTYTERM>
<GROUP_ID>32</GROUP_ID>
<VENDOR_ID>170192</VENDOR_ID>
<SMALL_IMAGE>
https://www.it4profit.com/catalogimg/wic/1/GA-H110M-S2H
</SMALL_IMAGE>
<PRODUCT_CARD>
https://content.it4profit.com/itshop/itemcard_cs.jsp?ITEM=151118121920215716&THEME=asbis&LANG=ro
</PRODUCT_CARD>
<EAN>4719331837310</EAN>
</PRICE>

现在,PRODUCT_CARD 中有该产品的技术信息,我不知道如何提取所有数据,然后使用 C# 导出到 .csv。

【问题讨论】:

    标签: c# xml


    【解决方案1】:

    我没试过,但我建议可以,这个 致谢:Pulling data from a webpage, parsing it for specific pieces, and displaying it

        string Url = "https://content.it4profit.com/itshop/itemcard_cs.jsp?ITEM=151118121920215716&THEME=asbis&LANG=ro";
            HtmlWeb web = new HtmlWeb();
            HtmlDocument doc = web.Load(Url);
    

    【讨论】:

    • 您是否只是从该链接的答案中复制了 xpath?
    • @hans 是的,虽然我已经编辑过,但仅供参考。
    • 我认为你应该编辑你的答案。此代码仅加载页面,不解析它。并且前面的代码可能使用了错误的 xpath。我认为最好发布有效的代码或仅发布链接,以便 TC 或读者可以根据该链接中的答案自己做一些事情。
    【解决方案2】:

    查字典真的很简单

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Xml;
    using System.Xml.Linq;
    
    namespace ConsoleApplication1
    {
        class Program
        {
            const string FILENAME = @"c:\temp\test.xml";
            static void Main(string[] args)
            {
                XDocument doc = XDocument.Load(FILENAME);
    
                Dictionary<string, string> dict = doc.Descendants("PRICE").Elements()
                    .GroupBy(x => x.Name.LocalName, y => (string)y)
                    .ToDictionary(x => x.Key, y => y.FirstOrDefault());
            }
        }
    }
    

    【讨论】:

    • "按任意键继续..."这是结果
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多