Запишите узел Объектной модели XML-документов
Запишите XML-файл, во-первых, создав узел Объектной модели документа (DOM), содержащий данные XML. Затем запишите узел DOM в XML-файл. Итоговый XML-файл должен содержать этот текст.
<?xml version="1.0" encoding="utf-8"?>
<toc version="2.0">
<tocitem target="upslope_product_page.html">Upslope Area Toolbox<!-- Functions -->
<tocitem target="demFlow_help.html">demFlow</tocitem>
<tocitem target="facetFlow_help.html">facetFlow</tocitem>
<tocitem target="flowMatrix_help.html">flowMatrix</tocitem>
<tocitem target="pixelFlow_help.html">pixelFlow</tocitem>
</tocitem>
</toc>
Во-первых, создайте объект узла DOM и корневой элемент, и заполните элементы и атрибуты узла, соответствующего данным XML.
docNode = com.mathworks.xml.XMLUtils.createDocument('toc');
Идентифицируйте корневой элемент и установите version
атрибут.
toc = docNode.getDocumentElement; toc.setAttribute('version','2.0');
Добавьте tocitem
узел элемента для страницы продукта. Каждый tocitem
элемент в этом файле имеет target
припишите и узел дочернего текста.
product = docNode.createElement('tocitem'); product.setAttribute('target','upslope_product_page.html'); product.appendChild(docNode.createTextNode('Upslope Area Toolbox')); toc.appendChild(product);
Добавьте комментарий.
product.appendChild(docNode.createComment(' Functions '));
Добавьте tocitem
узел элемента для каждой функции, где target
имеет форму function
_help.html
.
functions = {'demFlow','facetFlow','flowMatrix','pixelFlow'}; for idx = 1:numel(functions) curr_node = docNode.createElement('tocitem'); curr_file = [functions{idx} '_help.html']; curr_node.setAttribute('target',curr_file); % Child text is the function name. curr_node.appendChild(docNode.createTextNode(functions{idx})); product.appendChild(curr_node); end
Наконец, экспортируйте узел DOM в XML-файл под названием infoUAT.xml
, и просмотрите файл с помощью type
функция.
xmlwrite('infoUAT.xml',docNode); type('infoUAT.xml');
<?xml version="1.0" encoding="utf-8"?> <toc version="2.0"> <tocitem target="upslope_product_page.html">Upslope Area Toolbox<!-- Functions --><tocitem target="demFlow_help.html">demFlow</tocitem> <tocitem target="facetFlow_help.html">facetFlow</tocitem> <tocitem target="flowMatrix_help.html">flowMatrix</tocitem> <tocitem target="pixelFlow_help.html">pixelFlow</tocitem> </tocitem> </toc>
Считайте узел DOM из демонстрационного XML-файла и получите содержимое узла DOM как вектор символов.
Отобразите содержимое демонстрационного XML-файла, и затем импортируйте узел DOM из файла.
sampleXMLfile = 'sample.xml';
type(sampleXMLfile)
<productinfo> <matlabrelease>R2012a</matlabrelease> <name>Example Manager</name> <type>internal</type> <icon>ApplicationIcon.DEMOS</icon> <list> <listitem> <label>Example Manager</label> <callback>com.mathworks.xwidgets.ExampleManager.showViewer </callback> <icon>ApplicationIcon.DEMOS</icon> </listitem> </list> </productinfo>
DOMnode = xmlread(sampleXMLfile);
Используйте xmlwrite
возвратить DOMnode
возразите как сериализированный вектор символов.
text = xmlwrite(DOMnode)
text = '<?xml version="1.0" encoding="utf-8"?> <productinfo> <matlabrelease>R2012a</matlabrelease> <name>Example Manager</name> <type>internal</type> <icon>ApplicationIcon.DEMOS</icon> <list> <listitem> <label>Example Manager</label> <callback>com.mathworks.xwidgets.ExampleManager.showViewer </callback> <icon>ApplicationIcon.DEMOS</icon> </listitem> </list> </productinfo>'
filename
FileName Имя файла, заданное как вектор символов или скаляр строки, содержащий имя локального файла или URL.
Типы данных: char |
string
DOMnode
— Узел Объектной модели документа (DOM)Узел Объектной модели документа (DOM), заданный как объект узла DOM.
Объектная модель документа задана консорциумом Всемирной паутины. Для получения дополнительной информации смотрите то, Что Объектная модель XML-документов (DOM)?.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.