使用xpath增加计数

时间:2013-06-19 16:16:56

标签: java xml xpath

我正在尝试添加名为<IND2-1-drug-count>的标记,我成功地使用XPathFactory API添加了标记。

<?xml version="1.0" encoding="UTF-8"?>
<report>

    <IND2-1>
        <drug>
            <IND2-1-drug-count>1</IND2-1-drug-count>
            <B.4.k.12b>B.4.k.12b</B.4.k.12b>
            <B.4.k.14b>B.4.k.14b</B.4.k.14b>
            <B.4.k.15a>B.4.k.15a</B.4.k.15a>
            <B.4.k.11b>B.4.k.11b</B.4.k.11b>
        </drug> 
        <drug>
            <IND2-1-drug-count>1</IND2-1-drug-count>
            <B.4.k.14b>B.4.k.14b</B.4.k.14b>
            <B.4.k.15a>B.4.k.15a</B.4.k.15a>
            <B.4.k.11b>B.4.k.11b</B.4.k.11b>
        </drug> 

    </IND2-1>

    <IND2-1>
        <IND2-1-count>1</IND2-1-count>  
        <drug>
            <IND2-1-drug-count>2</IND2-1-drug-count>
            <B.4.k.12b>B.4.k.12b</B.4.k.12b>
            <B.4.k.14b>B.4.k.14b</B.4.k.14b>
            <B.4.k.15a>B.4.k.15a</B.4.k.15a>
            <B.4.k.11b>B.4.k.11b</B.4.k.11b>
        </drug> 
        <drug>
            <IND2-1-drug-count>2</IND2-1-drug-count>
            <B.4.k.14b>B.4.k.14b</B.4.k.14b>
            <B.4.k.15a>B.4.k.15a</B.4.k.15a>
            <B.4.k.11b>B.4.k.11b</B.4.k.11b>
        </drug> 
    </IND2-1>

</report>

但是我面临的问题是,如果我们看一下上面给出的xml,会出现<IND2-1>个标签,所以当我做这样的事情时

XPathExpression expr = xpath.compile("/report/IND2-1/drug");

并尝试创建一个文本节点,它创建所需的节点。但我想要的是第一次出现<IND2-1>该节点的值为1,第二次出现2,依此类推。

有没有办法可以让<IND2-1>出现,以便我可以传递相同的值来创建节点?

0 个答案:

没有答案