java中的HTML到XML解析器,用于解析HTML的一部分
我想将html的某些部分解析为XMLjava中的HTML到XML解析器,用于解析HTML的一部分,java,html,xml,html-parsing,Java,Html,Xml,Html Parsing,我想将html的某些部分解析为XML <div class="superviewer">text</div> <p>-----content----<p> <p>-----content----<p> <p>-----content----<p> <div class="superviewer">text</div> <p>-----conten
<div class="superviewer">text</div>
<p>-----content----<p>
<p>-----content----<p>
<p>-----content----<p>
<div class="superviewer">text</div>
<p>-----content----<p>
<p>-----content----<p>
<div class="superviewer">text</div>
<p>-----content----<p>
</div>
<div class="superviewer">text</div>
文本
-----内容--
-----内容--
-----内容--
文本
-----内容--
-----内容--
文本
-----内容--
文本
所需输出:
<superviewer>
<content>
<p>----content----</p>
<p>----content----</p>
<p>----content----</p>
</content>
</superuser>
<superviewer>
<content>
<p>----content----</p>
<p>----content----</p>
</content>
</superuser>
<superviewer>
<content>
<p>----content----</p>
</content>
</superuser>
<superviewer>
<content>
</content>
</superuser>
----内容----
----内容----
----内容----
----内容----
----内容----
----内容----
这就是我正在做的:
Document doc = Jsoup.parse(new File("filename"));
Elements superUserInfos = doc.getElementsByClass("superviewer");
for(Element superUserInfo:superUserInfos){
String info=superUserInfo.text();
Elements siblings = superUserInfo.siblingElements();
List<Element> elementsBetween = new ArrayList<Element>();
for (Element sibling:siblings) {
if ((! "div".equals(sibling.tagName())))
elementsBetween.add(sibling);
break;
}
if (! elementsBetween.isEmpty()){
processElementsBetween(elementsBetween);
elementsBetween.clear();
}
}
documentdoc=Jsoup.parse(新文件(“文件名”);
Elements superUserInfos=doc.getElementsByClass(“superviewer”);
对于(元素superUserInfo:superUserInfos){
String info=superUserInfo.text();
Elements sides=superUserInfo.siblingElements();
List elementsBetween=new ArrayList();
for(元素同级:同级){
if((!“div”.equals(同级标记名()))
添加之间的元素(同级);
打破
}
如果(!elementsBetween.isEmpty()){
processElementsBetween(elementsBetween);
.clear()之间的元素;
}
}
请建议我如何做到这一点,我尝试使用Jsoup,但我无法获得正确格式的内容。在每个superviewer中,所有内容都显示出来。通常,HTML不是XML,因此xslt处理器无法解析,就像您的情况一样,
----内容---
需要终止
。使用xhtml您可能会成功。我正在尝试使用JSOUP转换为xml,然后再次根据XSTLok进行格式化,但我没有正确理解,您是否可以显示(编辑问题)您使用JSOUP所做的工作,以确定“每个supterviewer中显示的所有内容”的问题,HTML不是XML,因此xslt处理器无法解析HTML,就像您的例子中的----内容--
需要终止
。使用xhtml您可能会成功。我正在尝试使用JSOUP转换为xml,然后再次根据XSTLok进行格式化,但我没有正确理解,您是否可以显示(编辑问题)您使用JSOUP所做的工作,以确定“每个supterviewer中显示的所有内容”的问题?