如何在asp.net中将XML转换为数组

时间:2010-08-18 10:56:30

标签: asp.net xml arrays

我需要使用asp.net将XML转换为数组。

我尝试在网上搜索但找不到合适的解决方案。

有人可以帮我解决这个问题吗

谢谢,
Alloi

6 个答案:

答案 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)

一种方式......可能会帮助你

  1. 将xml读入数据集。
  2. 根据表行迭代数据集,并将每个行实体添加到列表中。
  3. 将列表显示为数组或列表本身。

答案 5 :(得分:0)

我不知道是否有直接执行此操作的.net类,但如果没有,则有2个选项:

1。将XML加载到数据集中,然后在数据集中循环并设置数组的元素。

2。获取XML节点编号然后循环遍历XML并读取每个节点元素,然后将其放入数组中。

希望这很有用