xml随机字符串,在克隆节点中。JAVA
这是我克隆XML节点的代码
int numberOfNewOffers = Integer.parseInt(oProps.getProperty("prop2","3"));
Node offers = doc.getDocumentElement().getElementsByTagName("OF_DATA").item(0);
Node offer = null;
for (int i = 0; i < offers.getChildNodes().getLength(); ++i) {
if (offers.getChildNodes().item(i).getNodeName() == "OFX") {
offer = offers.getChildNodes().item(i);
}
}
if (offer != null) {
for (int i = 0; i < numberOfNewOffers; ++i) {
Node newOffer = offer.cloneNode(true);
offers.appendChild(newOffer);
}
}
这些是我克隆的节点:
<OF_DATA>
<OFX>
<ID>AVI</ID>
<ON>6</ON>
<END>11001</END>
<NAME>Ed</NAME>
</OFX>
<OFX>
<ID>AVI</ID>
<ON>6</ON>
<END>11001</END>
<NAME>Ed</NAME>
</OFX>
<OFX>
<ID>AVI</ID>
<ON>6</ON>
<END>11001</END>
<NAME>Ed</NAME>
</OFX>
</OF_DATA>
如何使每个克隆中的<ID>
元素始终不同?我被告知要用随机的
# 1 楼答案
如果您只有一个
thread
,则可以这样使用:int nextId;
克隆时,使用yourNodeId=nextId++;
,并且如果您希望即使在程序重新启动后id仍然是唯一的,则可以在磁盘上保存和恢复nextId值如果您有多个线程:尝试使用上面的建议,但使用
lock
。或者为每个线程指定一个区域(例如,thread1指定为0-100000,thread2指定为100000-200000),然后执行上述操作