我有一个HTML文件。此文件中的某些元素标有特殊属性:Say level0 =“level0 name”,level1 =“level 1name”,level2 =“name”。
如何检查此属性是否具有所需的结构?
一个。级别必须嵌套为索引
湾同一“级别”级别的名称应该是不同的
℃。 level0必须至少有一个level1
的元素d。一个HTML元素可能只有一个级别属性
更新1 :c。属性为“level0”的Html元素必须至少有一个属性为“level1”的降序html元素
更新2 :非常重要的是,错误消息可以理解且简单。
为了解析HTML我正在使用JSoup
,但到目前为止我已经开放了。我可以想象使用XSD-Schema或XPath。或者Java中的一些组合。我希望向用户显示简单而合理的错误消息。
<body>
<div level0="lvl0-0">
<div>
...
<span level1="lvl1-0">
<p level2="lvl2-0"> text goes here </p>
<p level2="lvl2-1"> textY goes here </p>
</span>
<span level1="lvl1-1">
<p level2="lvl2-0"> text goes here </p>
</span>
...
<div>
<div>
<div class="bla">
<div level0="lvl0-1">
<span level1="lvl1-0">
<p level2="lvl2-0"> text goes here </p>
</span>
<div>
</div>
</body>
答案 0 :(得分:1)
您应该创建一个XSD,然后使用像Xerces这样的东西来验证结构。
请参阅What's the best way to validate an XML file against an XSD file?以获得一个好例子。