powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Узлы, что ли (или как они там называются)
4 сообщений из 4, страница 1 из 1
Узлы, что ли (или как они там называются)
    #36496001
serverokAsservelat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброй ночи...
Есть файл с данными:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<?xml version="1.0" encoding="utf-8"?>
<PEOPLE>
  <Man>
    <name>Ваня</name>
    <surName>Иванов</surName>
    <dateOfBirth> 8 . 02 . 1982 </dateOfBirth>
  </Man>
  <Man>
    <name>Саня</name>
    <surName>Санин</surName>
    <dateOfBirth> 18 . 22 . 1987 </dateOfBirth>
  </Man>
</PEOPLE>

Хочу, в смысле надо, добавить в него еще одного человека (то есть еще одну структуру Man со всеми вложениями).

Пишу так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
XmlElement newOUTERitem = xmlDoc.CreateElement("Man");
            for (int i =  0 ; i < tagNames.Length; i ++ )
            {
                newitem = xmlDoc.CreateElement(tagNames[i]);

                // Put the value (inner Text) into the node 
                newitem.InnerText = mansdata[i];

                //Insert the new XML Element into the main xml document (CXML) 
                xmlDoc.DocumentElement.InsertAfter(newitem, xmlDoc.DocumentElement.LastChild);
            }
            xmlDoc.DocumentElement.InsertAfter(newOUTERitem, xmlDoc.DocumentElement.LastChild);
массивы tagNames и mansdata просто содержат названия тегов и значения их данных.

Инструкцией
Код: plaintext
XmlElement newOUTERitem = xmlDoc.CreateElement("Man");
я пытаюсь создать тег
Код: plaintext
<Man>
, но в итоге получается, что данный тег отсутствует, а в конце присутствует не тег
Код: plaintext
</Man>
, а
Код: plaintext
<Man />

Подскажите, какие инструкции использовать для создания оболочки
Код: plaintext
<Man></Man>
...
Рейтинг: 0 / 0
Узлы, что ли (или как они там называются)
    #36496249
Edkonst2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
serverokAsservelatДоброй ночи...
...
Подскажите, какие инструкции использовать для создания оболочки
Код: plaintext
<Man></Man>


Не очень понятен вопрос, но подозреваю, что appendChild тебе поможет.
...
Рейтинг: 0 / 0
Узлы, что ли (или как они там называются)
    #36497201
serverokAsservelat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос в том, что моим приведенным кодом вставляется не целый новый завершенный блок
Код: plaintext
1.
2.
3.
4.
 <Man>
    <name>Петя</name>
    <surName>Петрин</surName>
    <dateOfBirth> 14 . 28 . 1977 </dateOfBirth>
  </Man>
,
а
Код: plaintext
1.
2.
3.
    <name>Петя</name>
    <surName>Петрин</surName>
    <dateOfBirth> 14 . 28 . 1977 </dateOfBirth>
  <Man />
.
То есть нет открывающегося тега <Man>
...
Рейтинг: 0 / 0
Узлы, что ли (или как они там называются)
    #36498177
serverokAsservelat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
XmlElement newOUTERitem = xmlDoc.CreateElement("Man");//Создаем тег <Man>
            for (int i =  0 ; i < tagNames.Length; i ++ ) // пробегаем по данным
            {
                newitem = xmlDoc.CreateElement(tagNames[i]);// создаем вложенные элементы

                // Put the value (inner Text) into the node 
                newitem.InnerText = mansdata[i];//заносим в них данные (не параметры)

                //Insert the new XML Element into the <Man> -тег 
                newOUTERitem.AppendChild(newitem);//заносим данный эсформированный элемент внутрь блока <Man></Man>
            }
            //закрываем тег </Man>
            xmlDoc.DocumentElement.InsertAfter(newOUTERitem, xmlDoc.DocumentElement.LastChild);

Спасибо за AppendChild :)
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Узлы, что ли (или как они там называются)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]