在我的项目中,我有几个不同结构的存储库xml
文件。例如:
common.xml
<general>
<youTube>https://www.youtube.com/</youTube>
<eBay>https://www.ebay.com/</eBay>
<trollPic>https://mallofnorway.com/content/uploads/2020/07/008840118.jpg</trollPic>
<ui>
<multiValueAtt>Gender</multiValueAtt>
</ui>
<api>
<ownerId>1e1b3a81-8f9a-4126-890a-109694e9fd7c</ownerId>
<schemaId>4cbacf2e-8f3f-4c0b-9764-d88d302d279f</schemaId>
</api>
</general>
partner.xml
<general>
<ui>
<partner>
<schema>
<multiValueAttr>Gender</multiValueAttr>
</schema>
</partner>
<member>
<schema>
<multiValueAttr>Department</multiValueAttr>
</schema>
</member>
</ui>
</general>
我需要做一个函数从所有这些文件中获取值。因此,我理解我需要将xml文件位置和在该文件中查找的指定标记名传递给我的函数,可能还需要传递到该标记/字符串的xml路径。所以我想方法调用应该类似于GetConfigParam('./some-file.xml','ui.partner.schema.multiValueAttr');
我知道如何读取简单的xml
文件:
static public String objRepository(String fileName, String area, String key){
try{
String rootPath = Paths.get(".").toAbsolutePath().normalize().toString();
String path = rootPath + "\\src\\main\\resources\\repository\\" + fileName + ".xml";
File file=new File(path);
DocumentBuilderFactory dbf= DocumentBuilderFactory.newInstance();
DocumentBuilder db=dbf.newDocumentBuilder();
Document doc=db.parse(file);
doc.getDocumentElement().normalize();
//System.out.println("The node name is: "+doc.getDocumentElement().getNodeName());
NodeList nList=doc.getElementsByTagName(area);
//System.out.println("The length is: "+nList.getLength());
for(int i=0; i<nList.getLength(); i++){
Node nNode=nList.item(i);
if(nNode.getNodeType()==Node.ELEMENT_NODE){
Element ele=(Element) nNode;
return ele.getElementsByTagName(key).item(i).getTextContent();
}
}
}catch(Exception e){
e.printStackTrace();
}
return "";
}
我还知道如何读取具有常量结构的嵌套XML
文件,但我不知道如何用相同的方法读取具有不同结构的嵌套XML
文件。
您应该了解一下XPath。听起来你并不真正关心大部分内容,只关心一些特定的元素(你知道其中的路径)。这意味着您可以简单地以通用的方式读取XML并使用XPath提取所需的值。下面是Baeldung关于这个主题的一篇优秀文章的一个例子:
DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = builderFactory.newDocumentBuilder();
Document xmlDocument = builder.parse(this.getFile());
XPath xPath = XPathFactory.newInstance().newXPath();
String expression = "/Tutorials/Tutorial[@tutId=" + "'" + id + "'" + "]";
node = (Node) xPath.compile(expression).evaluate(xmlDocument, XPathConstants.NODE);
问题内容: 我试图从XML文件中读取一些数据,但遇到麻烦,我拥有的XML如下: 我试图将这些值作为字符串读取到我的Java程序中,到目前为止,我已经编写了以下代码: 我正在努力读取实际的字符串值。 问题答案: 可能的实现之一: 与XML内容一起使用时: 结果并分配给上述和参考。
问题内容: 我想使用创建文件。 我的文件结构: 问题答案: 您可以在Java中使用JDOM库。将标签定义为Element对象,使用Document Class 记录元素,并使用SAXBuilder构建xml文件。试试这个例子:
问题内容: 我正在一个项目中使用JSON作为创建Java对象的配置框架。这也是我来自CF / PHP / JS等方面多年经验的第一个专业Java项目。 在将JSON转换为Java时,我能找到的所有资源都基于以下想法:您必须先在Java中手动构建对象,即POJO,然后使用JSON进行填充。 作为网络语言的资深人士,我对此想法感到窒息。我发现编译后的语言起着不同的作用,但是我认为从命令行到机器语言的共
我的猜测是我没有以正确的方式声明模式文档,但我不知道错误到底在哪里。我做错了什么?
本文向大家介绍JS通过ajax动态读取xml文件内容的方法,包括了JS通过ajax动态读取xml文件内容的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS通过ajax动态读取xml文件内容的方法。分享给大家供大家参考。具体分析如下: 下面的JS代码读取note.xml文件,并填充显示相关字段 HTML文件代码如下 xml文件内容如下 希望本文所述对大家的javascript程序设计
下面提供了要阅读的文本文件- 上下文:开发 地区:亚洲 叶子:全部 项目:(这是项目列表) 名称:集线器 主题: (项目内主题列表) 数据类型:0 名称:疾病预防控制中心 计划:开发机架 数据类型:0.dlq 名称:疾病预防控制中心 计划:机架 数据类型:0 名称:原生态 计划:开发 模式: value.schema.file:-data-hub.raw.0-value-v1.json 值.for