2010-05-03 2 views
3

Привет, я разрабатываю приложение в Silverlight 3.0, я хочу создать в нем общий синтаксический анализатор XML, так как при каждом вызове webservice я получаю другой XML, я хочу сделать его общим так что я получаю XML в родной datastructure C#? Пожалуйста, помогите мне? как я получаю XML как этот один разОбщий синтаксический анализатор XML в Silverlight 3.0

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

и другое время

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

Я хочу, чтобы общий синтаксический анализатор, например, он создает некоторую древовидную структуру всего XML

+0

Простое решение: почему вы не можете просто получить строчную клиентскую сторону и прочитать ее в XmlTextReader или XmlDocument? – slugster

+0

Как я могу это сделать с помощью XMLReader? Я нашел несколько примеров, но все для определенного типа XML –

ответ

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; 
    } 
} 
+0

Просто для предотвращения недоразумений: для использования XmlSerializer атрибут Serialize не нужен. Не имеет никакого эффекта для такого рода сериализации. –

+0

, но для этого типа анализатора мне нужно сделать объект Serializeable для каждого XML, например, если у меня было 100 типов XML, тогда мне нужно 100 объектов ... Это не представляется возможным для меня. Я хочу просто сохранить их в общей структуре, например List или Dictionary. –

Смежные вопросы