Java 如何使用dom解析器获取重复节点的唯一值
我有一个重复节点的XML,我有一个使用DOM解析器解析它的top。经过大量的研发,我可以在互联网上找到任何可以帮助我的东西。我的xml看起来像Java 如何使用dom解析器获取重复节点的唯一值,java,xml,parsing,dom,Java,Xml,Parsing,Dom,我有一个重复节点的XML,我有一个使用DOM解析器解析它的top。经过大量的研发,我可以在互联网上找到任何可以帮助我的东西。我的xml看起来像 <nos1> <Name>aqwer</Name> <class>sas</class> <class>xcd</class> <class>asd</class> <Name>cfg</Name>
<nos1>
<Name>aqwer</Name>
<class>sas</class>
<class>xcd</class>
<class>asd</class>
<Name>cfg</Name>
<Name>cfg</Name>
<nos1>
阿奎尔
sas
xcd
自闭症
cfg
cfg
任何关于如何解析重复值的xml的建议。您可以使用w3c dom文档解析xml,如下所示:
DocumentBuilderFactory df = DocumentBuilderFactory.newInstance();
try
{
DocumentBuilder db = df.newDocumentBuilder();
InputStream is = new ByteArrayInputStream(response.getContent().getBytes("UTF-8"));
org.w3c.dom.Document doc = db.parse(is);
NodeList links = doc.getElementsByTagName("class");
for(int i=0; i< links.getLength(); i++)
{
Node link = links.item(i);
System.out.println(link.getTextContent());
}
}
catch(Exception ex)
{
}
DocumentBuilderFactory df=DocumentBuilderFactory.newInstance();
尝试
{
DocumentBuilder db=df.newDocumentBuilder();
InputStream is=newbytearrayinputstream(response.getContent().getBytes(“UTF-8”);
org.w3c.dom.Document doc=db.parse(is);
nodelistlinks=doc.getElementsByTagName(“类”);
对于(int i=0;i
希望这对您有所帮助。您可以使用w3c dom文档解析XML,如下所示:
DocumentBuilderFactory df = DocumentBuilderFactory.newInstance();
try
{
DocumentBuilder db = df.newDocumentBuilder();
InputStream is = new ByteArrayInputStream(response.getContent().getBytes("UTF-8"));
org.w3c.dom.Document doc = db.parse(is);
NodeList links = doc.getElementsByTagName("class");
for(int i=0; i< links.getLength(); i++)
{
Node link = links.item(i);
System.out.println(link.getTextContent());
}
}
catch(Exception ex)
{
}
DocumentBuilderFactory df=DocumentBuilderFactory.newInstance();
尝试
{
DocumentBuilder db=df.newDocumentBuilder();
InputStream is=newbytearrayinputstream(response.getContent().getBytes(“UTF-8”);
org.w3c.dom.Document doc=db.parse(is);
nodelistlinks=doc.getElementsByTagName(“类”);
对于(int i=0;i
希望这对您有所帮助。您可以使用w3c dom文档解析XML,如下所示:
DocumentBuilderFactory df = DocumentBuilderFactory.newInstance();
try
{
DocumentBuilder db = df.newDocumentBuilder();
InputStream is = new ByteArrayInputStream(response.getContent().getBytes("UTF-8"));
org.w3c.dom.Document doc = db.parse(is);
NodeList links = doc.getElementsByTagName("class");
for(int i=0; i< links.getLength(); i++)
{
Node link = links.item(i);
System.out.println(link.getTextContent());
}
}
catch(Exception ex)
{
}
DocumentBuilderFactory df=DocumentBuilderFactory.newInstance();
尝试
{
DocumentBuilder db=df.newDocumentBuilder();
InputStream is=newbytearrayinputstream(response.getContent().getBytes(“UTF-8”);
org.w3c.dom.Document doc=db.parse(is);
nodelistlinks=doc.getElementsByTagName(“类”);
对于(int i=0;i
希望这对您有所帮助。您可以使用w3c dom文档解析XML,如下所示:
DocumentBuilderFactory df = DocumentBuilderFactory.newInstance();
try
{
DocumentBuilder db = df.newDocumentBuilder();
InputStream is = new ByteArrayInputStream(response.getContent().getBytes("UTF-8"));
org.w3c.dom.Document doc = db.parse(is);
NodeList links = doc.getElementsByTagName("class");
for(int i=0; i< links.getLength(); i++)
{
Node link = links.item(i);
System.out.println(link.getTextContent());
}
}
catch(Exception ex)
{
}
DocumentBuilderFactory df=DocumentBuilderFactory.newInstance();
尝试
{
DocumentBuilder db=df.newDocumentBuilder();
InputStream is=newbytearrayinputstream(response.getContent().getBytes(“UTF-8”);
org.w3c.dom.Document doc=db.parse(is);
nodelistlinks=doc.getElementsByTagName(“类”);
对于(int i=0;i
希望这对您有所帮助。您应该阅读所有元素,并在阅读后通过集合消除重复项。下面是一个使用的示例,但任何其他库都可以
public class TestMultipleElements {
@XBDocURL("resource://test.xml")
public interface Projection {
@XBRead("/nos1/Name")
List<String> getNames();
@XBRead("/nos1/class")
List<String> getClasses();
}
@Test
public void uniqueElements() throws IOException {
Projection projection = new XBProjector().io().fromURLAnnotation(Projection.class);
for (String name : new HashSet<String>(projection.getNames())) {
System.out.println("Found Name:" + name);
}
for (String clazz : new HashSet<String>(projection.getClasses())) {
System.out.println("Found Name:" + clazz);
}
}
}
您应该读取所有元素,并在读取后通过集合消除重复项。下面是一个使用的示例,但任何其他库都可以
public class TestMultipleElements {
@XBDocURL("resource://test.xml")
public interface Projection {
@XBRead("/nos1/Name")
List<String> getNames();
@XBRead("/nos1/class")
List<String> getClasses();
}
@Test
public void uniqueElements() throws IOException {
Projection projection = new XBProjector().io().fromURLAnnotation(Projection.class);
for (String name : new HashSet<String>(projection.getNames())) {
System.out.println("Found Name:" + name);
}
for (String clazz : new HashSet<String>(projection.getClasses())) {
System.out.println("Found Name:" + clazz);
}
}
}
您应该读取所有元素,并在读取后通过集合消除重复项。下面是一个使用的示例,但任何其他库都可以
public class TestMultipleElements {
@XBDocURL("resource://test.xml")
public interface Projection {
@XBRead("/nos1/Name")
List<String> getNames();
@XBRead("/nos1/class")
List<String> getClasses();
}
@Test
public void uniqueElements() throws IOException {
Projection projection = new XBProjector().io().fromURLAnnotation(Projection.class);
for (String name : new HashSet<String>(projection.getNames())) {
System.out.println("Found Name:" + name);
}
for (String clazz : new HashSet<String>(projection.getClasses())) {
System.out.println("Found Name:" + clazz);
}
}
}
您应该读取所有元素,并在读取后通过集合消除重复项。下面是一个使用的示例,但任何其他库都可以
public class TestMultipleElements {
@XBDocURL("resource://test.xml")
public interface Projection {
@XBRead("/nos1/Name")
List<String> getNames();
@XBRead("/nos1/class")
List<String> getClasses();
}
@Test
public void uniqueElements() throws IOException {
Projection projection = new XBProjector().io().fromURLAnnotation(Projection.class);
for (String name : new HashSet<String>(projection.getNames())) {
System.out.println("Found Name:" + name);
}
for (String clazz : new HashSet<String>(projection.getClasses())) {
System.out.println("Found Name:" + clazz);
}
}
}
xslt解决方案怎么样?您想获取所有uniques值还是删除重复项?我想获取所有节点值。知道如何获取它吗?xslt解决方案如何?您想获取所有uniques值还是删除重复项?我想获取所有节点的值。知道如何获取它吗?xslt解决方案如何?您想获取所有uniques值还是删除重复项?我想获取所有节点的值。知道如何获取它吗?xslt解决方案如何?您想获取所有uniques值还是删除重复项?我想获取所有节点的值。你知道怎么得到它吗?你测试过这个。。。对于我的xml,它返回#text。不,我还没有测试它。这只是给你的提示程序。我以前也用过同样的东西。试试看,我现在已经测试过了。我在打印中更改为link.getTextContent()。下面是类节点的结果:sas xcdasd@Saiprateek-你能接受这个答案吗?如果是,请接受。我已经使用过这种方法,但正如我在xml中提到的,它返回的是每个节点的文本。请测试一下。。。对于我的xml,它返回#text。不,我还没有测试它。这只是给你的提示程序。我以前也用过同样的东西。试试看,我现在已经测试过了。我在打印中更改为link.getTextContent()。下面是类节点的结果:sas xcdasd@Saiprateek-你能接受这个答案吗?如果是,请接受。我已经使用过这种方法,但正如我在xml中提到的,它返回的是每个节点的文本。请测试一下。。。对于我的xml,它返回#text。不,我还没有测试它。这只是给你的提示程序。我以前也用过同样的东西。试试看,我现在已经测试过了。我在打印中更改为link.getTextContent()。下面是类节点的结果:sas xcdasd@Saiprateek-你能接受这个答案吗?如果是,请接受。我已经使用过这种方法,但正如我在xml中提到的,它返回的是每个节点的文本。请测试一下。。。对于我的xml,它返回#text。不,我还没有测试它。这只是给你的提示程序。我以前也用过同样的东西。试试看,我现在已经测试过了。我在打印中更改为link.getTextContent()。下面是类节点的结果:sas xcdasd@Saiprateek-你能接受这个答案吗?如果是,请接受。我已经使用过这种方法,但正如我在xml中提到的,它会为每个节点返回文本