すべてのテキストを要素内に含める/囲む必要がある XML ファイルがあります。つまり、要素に子が含まれている場合、テキストを含めることはできません。
例:
これは許可されています:
<?xml version='1.0' encoding='UTF-8'?>
<mainParent source="">
<!-- FOR TESTING ONLY -->
<child1 scheduling=""> <!-- 1ST -->
<child2 domain="" type=""><![CDATA[ALLOWED TEXT]]></child2>
</child1>
<child1 scheduling=""> <!-- 2nd -->
<child2 domain="" type=""><![CDATA[ALLOWED TEXT 2]]></child2>
</child1>
</mainParent>
これは許可されていません:
<?xml version='1.0' encoding='UTF-8'?>
<mainParent source="">
<!-- FOR TESTING ONLY -->
<child1 scheduling=""> <!-- 1ST -->
<child2 domain="" type=""><![CDATA[ALLOWED TEXT]]></child2>
NOT ALLOWED TEXT 1
</child1>
<child1 scheduling=""> <!-- 2nd -->
<child2 domain="" type=""><![CDATA[ALLOWED TEXT 2]]></child2>
</child1>
NOT ALLOWED TEXT 2
</mainParent>
DOM の使用:
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
dbFactory.setXIncludeAware(true);
dbFactory.setNamespaceAware(true);
DocumentBuilder docBuilder = dbFactory.newDocumentBuilder();
doc = docBuilder.parse( new File(fileName) );
パーサーは、属性が繰り返されるか、要素が閉じられていない場合にのみ失敗します。ただし、テキスト エントリが「ハング」している場合にも失敗するようにしたいと考えています。
どうすればこれを強制できますか?
ありがとう。