Silverlight 3.0中的通用XML解析器

时间:2010-05-03 11:07:23

标签: c# xml silverlight silverlight-3.0

您好我正在Silverlight 3.0中开发一个应用程序,我想在其中创建一个XML的通用解析器,因为每次调用webservice我都会收到一个不同的XML,我想让它变得通用,以便我收到一个XML在C#的原生数据结构中?请帮帮我? 就像我一次得到这样的XML

<test>
 <node1></node1>
 <node2></node2>
</test>

和其他时间

<mytest>
 <application name="XYZ">My Application</application>
 <application name="ABC">My Application</application>
</mytest>

我想要通用解析器,例如它构成了整个XML的一些树结构

2 个答案:

答案 0 :(得分:1)

您可以使用.NET xml serialization

鉴于xml看起来像这样

<TestObject>
    <FirstProperty>SomeValue</FirstProperty>
    <SecondProperty>17</SecondProperty>
</TestObject>

C#对象

[Serializable]
public class TestObject
{
    public string FirstProperty { get; set; }
    public int SecondProperty { get; set; }
}

以下是将xml转换为对象的代码

string xml = @"<TestObject>
                    <FirstProperty>SomeValue</FirstProperty>
                    <SecondProperty>17</SecondProperty>
                </TestObject>";

XmlSerializer serializer = new XmlSerializer(typeof(TestObject));

using (StringReader reader = new StringReader(xml))
{
    using (XmlTextReader xmlReader = new XmlTextReader(reader))
    {
        TestObject obj = serializer.Deserialize(xmlReader) as TestObject;
    }
}

答案 1 :(得分:0)

我发现解决方案Generic XML parser对我有用。