0

次の形式のタイトルとフルネームを含む配列リストがあります

Dr.|ricardo bettati
Prof. Dr.-Ing.|Helmut sperling
miss|angela link

まず、内容を で分割してい|ます。タイトルとフルネームを取得します。次に、フルネームをスペースで分割して取得firstnameし、familyname.

今、私は3つの弦を持っています

上記のリストのタイトルを含む文字列 title\ 文字列名。文字列の姓。

次のタスクは、既存の xml のテキスト コンテンツを上記の文字列firstnamefamilyname.Here で確認することです。既存の xml は次のとおりです。

<person>
 <name>
   <firstname>Jean-Luc</firstname>
   <familyname>DeLorme</familyname>
 </name>
</person>
<person>
 <name>
   <firstname>Dave</firstname>
   <familyname>Sperling</familyname>
 </name>
</person>
<person>
 <name>
    <firstname>Helmut</firstname>
    <familyname>sperling</familyname>
 </name>
</person>

firstnameおよびfamilyname内容が上記の xml 要素のテキスト コンテンツと一致する<firstname>場合は、<familyname>という名前の要素を作成<title>し、リストから対応するタイトルを追加する必要があります。私の XML は次のようになります。

<person>
 <name>
   <firstname>Jean-Luc</firstname>
   <familyname>DeLorme</familyname>
 </name>
</person>
<person>
 <name>
   <firstname>Dave</firstname>
   <familyname>Sperling</familyname>
 </name>
</person>
<person>
 <name>
    **<title>Prof. Dr.-Ing.>/title>**
    <firstname>Helmut</firstname>
    <familyname>sperling</familyname>
 </name>
</person>

次のコードで試しました

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
        dbf.setValidating(false);
        DocumentBuilder db = dbf.newDocumentBuilder();
        Document doc = db.parse(new FileInputStream(new File("Final-Results.xml")));
        Element element =  doc.getDocumentElement();
        NodeList list = doc.getElementsByTagName("person");
        for (int i=0;i<titles.size();i++) { //Title is my arraylist
            String names = (String) titles.get(i);
            String[] content=names.split("\\|");
            String title=content[0];
            String[] fullname=content[1].split("\\s+");
            String firstname=fullname[0];
            String familyname=fullname[1];
            for (int n = 0; n < list.getLength(); n++) {

                   Node node = list.item(n);
                   if ("firstname".equals(node.getNodeName()) && node.getTextContent().equals(firstname)) {
                    System.out.println("haii");
                   }
            }
        }

しかし、どうすれば子を取得してテキストの内容を確認し、特定の場所にノードを作成できますか?

4

1 に答える 1