我首先要说我不太擅长 Java 或 XML。
我下面的代码就像我需要的那样打印出子节点。我没有编写代码,我在此处的帮助站点上找到了它:Java XML Example。现在,我需要它做的是删除所有特异性痕迹。这意味着我不希望它搜索“TITLE”或“CD”,我希望它找出第一个节点是什么并打印出来。这意味着如果第一个是 CD,那么它应该为所有节点打印 CD,依此类推。我计划将它用于多个 XML 文件,但它们都不相同。这就是为什么不特定于一个 XML 并使用引号很重要的原因。
最后,为了让您了解我想要的输出,基本上是一个 CSV 文件。顶部的标题,用逗号分隔,下面的内容,用逗号分隔。为此,我还需要一个打印方法,在顶部列出标题的所有节点。我不确定如何做到这一点。
编辑:我的问题是,如何在不硬编码的情况下打印标签名称(例如标题)。我希望它也可以处理一个与 CD 或音乐无关的 XML 文件。
//This should be the final result:
Title, Artist, Album,
On Fire, Eminem, Recovery,
Not Afraid, Eminem, Recovery,
//I want this code without hardcoding headers like Title inside it.
Element fstElmnt = (Element) fstNode;
NodeList fstNmElmntLst = fstElmnt.getElementsByTagName("TITLE");
Element fstNmElmnt = (Element) fstNmElmntLst.item(0);
NodeList fstNm = fstNmElmnt.getChildNodes();
System.out.print(((Node) fstNm.item(0)).getNodeValue()+", ");