Я хочу добавить корень в XML-документ с помощью XSLT и добавить к нему дочерний узел. Для меня это сложно, потому что у меня нет имени XML-документа, когда я делаю XSLT. XSL будет выполняться на разных XML-файлах.
Я видел, как люди добавляют корни в XML-документы следующим образом:
doc.AppendChild(rootNode);
Где «doc» — их XML-документ.
Однако я не знаю, как называется мой XML-документ, поэтому я не могу ссылаться на «doc». Любые идеи?
Кстати, работает в xslt-1.0.
С уважением
редактировать:
Более подробно, когда мы получаем XML-документы, нам нужно запускать для них код xslt. Иногда документы XML пусты (таким образом, корневой элемент пуст), и поэтому нам нужно добавить корневой элемент с дочерним элементом.
Для этого все, что мне сейчас нужно, — это способ сослаться на документ XML внутри кода xslt.
/
selects the document root (which is always the parent of the document element)
Однако это не поможет вам в ситуации, которую вы описываете:
Sometimes the XML documents are empty (thus, they do not have a root element), and therefore, we need to add a root element to it.
потому что документ без корневого элемента не является XML-документом правильного формата и не может быть обработан XSLT.
Пустой корневой элемент очень отличается от отсутствия корневого элемента вообще.
ох ладно... это мой плохой :(
Кажется, это повторение вашего предыдущего вопроса: stackoverflow.com/q/72113053/3016153
Нет это не так. Я только что объяснил контекст :) Что я хочу выяснить с этим вопросом, так это то, как ссылаться на текущий XML-документ, как вы можете прочитать в заголовке.
Я не могу сказать, что понимаю контекст (вы не опубликовали код). Но, как я уже сказал, вы всегда можете обратиться к текущему XML-документу как /
.
Большое спасибо за комментарий. Единственное, что есть в моем документе, это <Conversion/> . Но все равно пишет, что корневой элемент пуст. Я могу запустить XSLT на этом XML.