xml字符串名称为strResponseXml,内容如下:
<?xml version='1.0'?>013海淀区0>343朝阳区3>783密云区7>9103海淀区9>
现想通过网页上的一个按钮事件把以上字符串解析成如下的表格形式:
FID ID KIND NAME
0 1 3 海淀区
3 4 3 朝阳区
7 8 3 密云区
9 10 3 海淀区
xml字符串名称为strResponseXml,内容如下:
<?xml version='1.0'?>013海淀区0>343朝阳区3>783密云区7>9103海淀区9>
现想通过网页上的一个按钮事件把以上字符串解析成如下的表格形式:
FID ID KIND NAME
0 1 3 海淀区
3 4 3 朝阳区
7 8 3 密云区
9 10 3 海淀区
以下回答参考 皆我百晓生、券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。
要将XML字符串转换成表格格式,我们可以使用XDocument类来解析XML,并将其转换为DataTable对象。然后,可以遍历这个DataTable并打印出相应的数据。
以下是一个简单的示例代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Linq;
namespace ASPNETExample
{
class Program
{
static void Main(string[] args)
{
string strResponseXml = "<xml>" +
" <013海淀区0>343朝阳区3>783密云区7>9103海淀区9>" +
"</xml>";
XDocument doc = XDocument.Parse(strResponseXml);
var table = doc.Descendants("013").SelectMany(c => c.Elements()).ToDictionary(
e => e.Element("FID").Value,
e => new { Id = e.Element("ID").Value, Kind = e.Element("KIND").Value, Name = e.Element("NAME").Value });
foreach (var row in table)
{
Console.WriteLine($"FID: {row.Key} | ID: {row.Value.Id} | KIND: {row.Value.Kind} | NAME: {row.Value.Name}");
}
Console.ReadKey();
}
}
}
这段代码首先创建了一个XDocument实例,然后从XML字符串中读取元素和子元素。然后,它使用ToDictionary方法将这些元素映射到键值对的字典中。最后,它遍历这个字典并打印出每个条目的信息。
注意:在实际应用中,你需要确保你的XML文件正确地定义了表结构。例如,如果你的XML文件包含多行,你可能需要处理这种情况。此外,如果XML文件中的字段名或值与你的程序预期的不同,你也需要相应地修改代码以适应这些变化。