Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > XMLElemnt как можно по другому?


Автор: DenWPF 20.5.2010, 17:47
Код

 foreach (MyProduct k in t.product)
                    {
                        XmlElement product = xmlDoc.CreateElement("Product");
                        product.AppendChild(xmlDoc.CreateElement("ProductId", k.productID));
                        XmlElement MyTitle = xmlDoc.CreateElement("MyTitle");
                        MyTitle.InnerText = k.myTitle;
 product.AppendChild(MyTitle);
}


мне надо много детей записать в product.

если делать так product.AppendChild(xmlDoc.CreateElement("ProductId", k.productID)); - то получается <ProductId xmlns="32029" />

а хотелось бы <ProductId>32029</ProductID>


мою задачу решает вот такой код.
Код

                        XmlElement MyTitle = xmlDoc.CreateElement("MyTitle");
                        MyTitle.InnerText = k.myTitle;
 product.AppendChild(MyTitle);



но я не хочу так много писать, можно как то одной строкой это?

Автор: KelTron 20.5.2010, 19:15
Используй LINQ to SQL

Автор: DenWPF 20.5.2010, 22:16
та неа...тут маленькая базочка=)
+ зачем у меня все готово кроме этого ... и то по тому что лень...

Автор: diadiavova 20.5.2010, 22:22
Код

                        XmlElement productId = xmlDoc.CreateElement("ProductId"); 
                        XmlText prodidValue = xmlDoc.CreateTextNode(k.productID);
                        productId.AppendChild(prodidValue);

Автор: DenWPF 20.5.2010, 23:42
оо отлично, ну а ещё одну строчечку можно? сразу объект передать, не присваивая?

Автор: diadiavova 21.5.2010, 08:48
Цитата(DenWPF @  21.5.2010,  00:42 Найти цитируемый пост)
оо отлично, ну а ещё одну строчечку можно? сразу объект передать, не присваивая?

В принципе никто тебе не мешает реализовать метод-расширитель по образу и подобию линковских, но если у тебя такого кода немного, то, возможно, смысла нет.

Автор: jonie 21.5.2010, 17:30
а я бы сделал XSD схему, сгенерировал через xsd.exe класс сериализуемый и использовал бы его и стандартный XmlSerializer.... выглядит как "гемморой", но на самом деле в дальнейшем мне кажется данный подход более просто позволит менять выходную XML, да и покрасивше на мой взгляд в коде смотрится...

Автор: qwertylolman 24.5.2010, 14:48
для xml вида 
<тег>значение</тег>
я бы использовал стандартный XmlSerializer

Автор: DenWPF 24.5.2010, 20:16
ой я не знаю что это

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)