当XML在特定命名空间中时,可以使用C#编程语言中的System.Data.DataSet
和System.Xml.XmlDocument
类将XML读入DataTable
。以下是一个示例代码:
using System;
using System.Data;
using System.Xml;
public class Program
{
public static void Main()
{
string xmlString = @"<root xmlns=""http://www.example.com/ns"">
<item>
<name>Item 1</name>
<value>Value 1</value>
</item>
<item>
<name>Item 2</name>
<value>Value 2</value>
</item>
</root>";
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(xmlString);
DataSet dataSet = new DataSet();
dataSet.ReadXml(new XmlNodeReader(xmlDoc));
DataTable dataTable = dataSet.Tables[0];
Console.WriteLine("DataTable:");
foreach (DataRow row in dataTable.Rows)
{
Console.WriteLine($"Name: {row["name"]}, Value: {row["value"]}");
}
}
}
在这个示例中,我们首先定义了一个包含命名空间的XML字符串。然后,我们使用XmlDocument
类加载XML字符串,并使用DataSet
的ReadXml
方法将XML读入DataTable
。最后,我们遍历DataTable
的每一行,并输出每一行的数据。
这个示例中使用的命名空间是http://www.example.com/ns
,你可以根据实际情况替换为你需要的命名空间。
领取专属 10元无门槛券
手把手带您无忧上云