您好我正在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的一些树结构
答案 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对我有用。