私はMathworksサイトで同じ質問をしました。関数に渡される既存の親ノードに子ノードを追加するにはどうすればよいですか?
私は関数にxml構造体を送り、新しいノードを追加して、変更された構造体を返そうとしています。これは、追加される子構造が多くの '.xml'ファイルに非常に共通するため、毎回同じコードを書き換えたくないためです。
私は、次の作品の関数ではないよ場合:
docNode = com.mathworks.xml.XMLUtils.createDocument('ugcs-Transfer');
parent_node = docNode.createElement('parent')
docNode.appendChild(parent_node)
docNode = myFunction(docNode)
が
この関数はに子を追加しません。私はこのような関数に渡ししようとした場合
docNode = com.mathworks.xml.XMLUtils.createDocument('ugcs-Transfer');
parent_node = docNode.createElement('parent')
docNode.appendChild(parent_node)
child_node = docNode.createElement('child');
parent_node.appendChild(child_node);
親ノード:
Z = my_function(docNode)
child_node = docNode.createElement('child');
parent_node.appendChild(child_node); % This line produces an error:
%Undefined variable "parent_node" or ...
%class "parent_node.appendChild".
Z = docNode
end
所望の最終状態は次のようになります
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<parent>
<child>
すべてのヘルプは構文を持ついくつかの問題があります
ポール
おかげで見ることができます。同僚がこれを行う別の手段を提供しました:parent_node = docNode1.getElementsByTagName( 'Parent')。item(0) –
@Paul_Sponagle右のことは間違いありません。私はこれを迷惑なものと見て、実際にこの種のもの(これはそうではない)の再帰的な方法を好む。しかし、あなたのやり方をすることも可能です(時にはそうする必要があります)。それぞれの親は複数の子供を持つことができますし、すべての子供の中から検索する必要があり、すべてがうまくいくことを覚えておいてください。さらに、たとえあなたが子供を返すとしても、あなたはそれを使う必要はありませんが、あなたがそれを使うことを望む場合には、あなたができることを本当に幸せにします。 – patrik