xml 属性文件中的多个部分
Posted
技术标签:
【中文标题】xml 属性文件中的多个部分【英文标题】:Multiple Sections in xml properties file 【发布时间】:2012-04-15 07:15:27 【问题描述】:在位于here的帖子中
到目前为止,Andrew Finnell 的回复在某种程度上是最有帮助的。但是,我确实需要知道如何将其扩展到允许其他部分,而不仅仅是
<properties>
</properties>
如果答案已经在该页面上,请告诉我,如果没有,有人可以帮助我。
基本上我想拥有
<properties>
</properties>
<blah1>
</blah1>
<blah2>
</blah2>
等...作为我的部分。我发现的所有普通 xml 库和此类库都非常庞大且令人困惑,因此我希望能够更轻松地使用前面提到的方法。提前致谢。
【问题讨论】:
【参考方案1】:一个xml文件需要一个一个根元素。否则无效,无法被xml解析器处理。
带有 sections 的有效 xml 可能如下所示:
<properties> <!-- root element -->
<section1> <!-- section 1 as a child of root -->
</section1>
<section2> <!-- section 2 as a child of root -->
</section2>
</properties>
【讨论】:
【参考方案2】:如果您将部分放入 XML 属性文件,它就不再是 XML 属性文件,您不能指望使用java.utils.Properties
来处理它。
如果您的要求是命名部分中的属性(名称/值对),那么您可以使用 INI 文件语法。有一个 Java 库可以处理这个问题。
如果您想要更通用的内容,请查看 JSON。有许多处理 JSON 的 Java 库。 (我喜欢 Jackson,因为它允许您将常规 Java bean 映射到 JSON。)
【讨论】:
【参考方案3】:好的,感谢您的快速回复。我对事物进行了一些重组,这是我的 xml。这是 100% 合规还是需要进行细微更改?
<?xml version="1.0"?>
<configuration>
<settings name="connection">
<server>test.com</server>
<name>blah</name>
<password>blah</password>
<owner>blah</owner>
<staff>blah,blH,BLAH,BLah</staff>
<timercount>5</timercount>
</settings>
<settings name="prvtmsg">
<hello>Hello %person. How are you today?</hello>
<commands>I have the following commands: About, Help, and Join</commands>
</setting>
<settings name="timers">
<timer1>interval,action,delay</timer1>
<timer2>interval,action,delay</timer2>
<timer3>interval,action,delay</timer3>
<timer4>interval,action,delay</timer4>
<timer5>interval,action,delay</timer5>
</settings>
</configuration>
【讨论】:
以上是关于xml 属性文件中的多个部分的主要内容,如果未能解决你的问题,请参考以下文章