用Java复制某些节点
我试图用JAVA读取/复制xml文档的某个部分,然后将该部分保存为新的xml文档。就像下面的de示例中看到的studentinfo和contact info一样,我只想选择studentinfo并复制整个区域的节点和元素。 我只能找到有关仅选择元素或仅选择节点的信息 谢谢你的帮助用Java复制某些节点,java,xml,copy,rft,Java,Xml,Copy,Rft,我试图用JAVA读取/复制xml文档的某个部分,然后将该部分保存为新的xml文档。就像下面的de示例中看到的studentinfo和contact info一样,我只想选择studentinfo并复制整个区域的节点和元素。 我只能找到有关仅选择元素或仅选择节点的信息 谢谢你的帮助 <header> <body> <studentinfo> <name>Student Name<name> <
<header>
<body>
<studentinfo>
<name>Student Name<name>
<studentid>0987654321<studentid>
<Location>USA<Location>
<studentinfo>
<contactinfo>
<email>email@email.com<email>
<address>somewhere 1<address>
<postalcode>123456<postalcode>
<contactinfo>
<body>
<header>
学名
0987654321
美国
email@email.com
某处1
123456
我将做一个很大的假设,即您使用的是org.w3c.dom.Document
api
这是一个分为两步的过程:
Document doc = parse(xmlSource);
Document targetDoc = openTargetDoc();
Node copyTo = findWhereYouWantToCopyStuffTo(targetDoc);
// Find the node or nodes to want to copy.. could use XPath or some other search
NodeList studentinfoList = doc.getElementsByTagName("studentinfo");
// for each found... make a copy (via importNode) and attach to some point in the target doc
for( int i = 0; i < studnetinfoList.getLength(); i ++ ){
Node n = studentinfoList.item(i);
Node copyOfn = targetDoc.importNode(n,true);
copyTo.appendChild(copyOfn);
}
Document=parse(xmlSource);
Document targetDoc=openTargetDoc();
节点copyTo=查找您想要的CopyStuffTo位置(targetDoc);
//查找要复制的一个或多个节点。。可以使用XPath或其他搜索
NodeList studentinfo=doc.getElementsByTagName(“studentinfo”);
//对于每一个发现。。。复制(通过importNode)并附加到目标文档中的某个点
对于(int i=0;i
如果这不是您想要的,您可能需要使用什么api等,添加更多关于您希望复制的内容和复制位置的详细信息。您使用什么来处理XML(解析器、框架等)?您可以解析XML,也可以使用xptath来获取您感兴趣的部分。Thanx有关信息,这正是我需要的“FindWhere youwanttoCopyStuff to”方法?如果您没有更具体地说明要将哪些节点复制到何处,则无法回答:)…我假设您正在将节点复制到另一个文档中..因此FindWhere youwanttoCopyStuff to()应该在目标文档中找到位置并返回。注意,上面的内容也可用于复制同一文档中的节点。