0

次のような AIML ファイルがあります。

<xml>
<aiml>
<category>
<pattern>Question 1</pattern>
<that>Optional</that>
<template>Answer</template>
</category>
<category>
<pattern>Question 2</pattern>
<that>Optional</that>
<template><random><li>Answer 1</li><li>Answer 2</li></random></template>
</category>
<topic name="test">
<category>
<pattern>Question 1</pattern>
<that>Optional</that>
<template><random><li>Answer 1</li><li>Answer 2</li><li>Answer 3</li></random></template>
</category>
</topic>
</aiml>

そして、それをCSVに変換したい:

0,Question 1,*,Optional, Answer,test.aiml
0,Question 2,*,Optional, <random><li>Answer 1</li><li>Answer 2</li></random>,test.aiml
0,Question 1,test,*, <random><li>Answer 1</li><li>Answer 2</li><li>Answer 3</li></random>,test.aiml

しかし、結果は次のとおりです。

0,Question 1,*,Optional, Answer,test.aiml
0,Question 2,*,Optional, Answer 1Answer 2,test.aiml
0,Question 1,test,*, Answer 1Answer 2Answer 3,test.aiml

理由はわかりませんが、 node.getTextContent() はすべてのタグを削除し、そのコンテンツのみを返します。toString はタグ名を返します。また、random タグと li タグをテキストとして処理する方法が見つかりません。それがタグの内容を取得する方法です:

eElement.getElementsByTagName("template").item(0).getTextContent();
4

0 に答える 0