Общий синтаксический анализатор XML в Silverlight 3.0 - PullRequest
3 голосов
/ 03 мая 2010

Привет, я занимаюсь разработкой приложения в Silverlight 3.0, я хочу сделать в нем общий синтаксический анализатор XML, так как при каждом обращении к веб-сервису я получаю другой 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 ]

1 голос
/ 03 мая 2010

Вы можете использовать .NET XML сериализация .

Учитывая 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;
    }
}
0 голосов
/ 06 мая 2010

Я нашел решение Общий синтаксический анализатор XML работает для меня.

...