我需要使用asp.net将XML转换为数组。
我尝试在网上搜索但找不到合适的解决方案。
有人可以帮我解决这个问题吗
谢谢,
Alloi
答案 0 :(得分:1)
我认为LinqToXML可能对您的情况有所帮助。这是vb.net中的一个示例(我在csharp中找不到任何内容......):http://msdn.microsoft.com/en-us/vbasic/bb738047.aspx#convnodesarray
答案 1 :(得分:1)
我发现LinqToXML在这些情况下很有帮助。我有一个非常简单的XML文档:
<?xml version="1.0" encoding="utf-8" ?>
<People>
<Person>
<id>1</id>
<name>Dave</name>
</Person>
<Person>
<id>2</id>
<name>Pete</name>
</Person>
<Person>
<id>3</id>
<name>Marie</name>
</Person>
</People>
以下代码将其转换为对象数组:
FileStream file = new FileStream("data.xml", FileMode.Open);
XDocument xmldoc = XDocument.Load(file);
var people = (from p in xmldoc.Descendants("Person")
select new
{
ID = p.Element("id").Value,
Name = p.Element("name").Value
}).ToArray();
foreach (var person in people)
{
Console.WriteLine(person.Name);
}
答案 2 :(得分:0)
Alloi - 我认为由于xml结构固有的复杂性,这在很大程度上取决于xml本身。我所说的是,通用解决方案可能很难制作防弹,而“已知”结构的解决方案可能相当直接。序列化器可能允许你将它保存到ToList()或类似的东西,但除此之外,我认为这是源于马的情况。 :)
吉姆
[修改] - 可能 有用的链接:http://www.c-sharpcorner.com/UploadFile/chauhan_sonu57/SerializingObjects07202006065806AM/SerializingObjects.aspx
还 - 一个很好的小链接,显示如何在c#中转换xml-&gt; json:http://www.phdcc.com/xml2json.htm
答案 3 :(得分:0)
如果你有一个XML引用的XSD,那么这可能是数组(或列表)实现的起点。
答案 4 :(得分:0)
一种方式......可能会帮助你
答案 5 :(得分:0)
我不知道是否有直接执行此操作的.net类,但如果没有,则有2个选项:
1。将XML加载到数据集中,然后在数据集中循环并设置数组的元素。
2。获取XML节点编号然后循环遍历XML并读取每个节点元素,然后将其放入数组中。
希望这很有用