JAVA怎么把HTML转换XML格式

html-css09

JAVA怎么把HTML转换XML格式,第1张

java中利用HtmlAgilityPack API就可以把html解析成xml了。

在HtmlAgilityPack中常用到的类有HtmlDocument、HtmlNodeCollection、

HtmlNode和HtmlWeb等。

其流程一般是先获取HTML,这个可以通过HtmlDocument的Load()或LoadHtml()来加载静态内容,或者也可以HtmlWeb的Get()或Load()方法来加载网络上的URL对应的HTML。

得到了HtmlDocument的实例之后,就可以用HtmlDocument的DocumentNode属性,这是整个HTML文档的根节点,它本身也是一个HtmlNode,然后就可以利用HtmlNode的SelectNodes()方法返回多个HtmlNode的集合对象HtmlNodeCollection,也可以利用HtmlNode的SelectSingleNode()方法返回单个HtmlNode。

HtmlAgilityPack确实是一个功能强大、体积小的开源HTML解析类库,在本篇仅仅是介绍了其中几个类的用法,但光这些就足以供周公快速实现了许久没有实现的功能,如果让周公用正则表达式来实现类似的功能,时间肯定要比用这个长得多。

if(window.ActiveXObject){xmlDoc = new ActiveXObject('Microsoft.XMLDOM')

xmlDoc.async = false

xmlDoc.load(xmlFile)}else if (document.implementation &&document.implementation.createDocument){xmlDoc = document.implementation.createDocument('', '', null)xmlDoc.async = false

xmlDoc.load(xmlFile)}else{return null}return xmlDoc}function startload (){var option,optiontext

if(xmlDoc == null){alert('您的浏览器不支持xml文件读取!')}else{var DeptXML = xmlDoc.getElementsByTagName("department")

//alert(DeptXML.length)

for (var i = 0 i <DeptXML.length i ++ ){option = document.createElement('option')

option.setAttribute("value",DeptXML[i].getAttribute('name'))

optiontext = document.createTextNode(DeptXML[i].getAttribute('name'))

option.appendChild(optiontext)

//option.innerHTML = DeptXML[i].getAttribute('name')

document.getElementById("cdepname").appendChild(option)}}}function clearList(){var username = document.getElementById("username")

while (username.childNodes.length >0){username.removeChild(username.childNodes[0])}}function refreshList (){clearList()

var option,optiontext

if(xmlDoc == null){alert('您的浏览器不支持xml文件读取!')}else{var selectDep = document.form1.cdepname.options[document.form1.cdepname.selectedIndex].text

/*var selectDep =document.getElementById("cdepname").options[document.getElementById("cdepname").options.selectedIndex].value*/

//alert(selectDep)

var DeptXML = xmlDoc.getElementsByTagName("department")

for (var i = 0 i <DeptXML.length i ++ ){if (DeptXML[i].getAttribute("name") == selectDep){var DeptSel = DeptXML[i]break}}for (i=0 i <DeptSel.childNodes.lengthi++){chen = new Option(DeptSel.childNodes[i].getAttribute("name"),DeptSel.childNodes[i].getAttribute("name"))

document.form1.username.options.add(chen)}}}function CheckUser (){//alert('sdfsadf')

if(xmlDoc == null){alert('您的浏览器不支持xml文件读取!')}else{var selectDep = document.form1.cdepname.options[document.form1.cdepname.selectedIndex].text

var DeptXML = xmlDoc.getElementsByTagName("department")

for (var i = 0 i <DeptXML.length i ++ ){if (DeptXML[i].getAttribute("name") == selectDep){var DeptSel = DeptXML[i]break}}var selectPer = document.form1.username.options[document.form1.username.selectedIndex].text

for (i=0 i <DeptSel.childNodes.lengthi++){if (DeptSel.childNodes[i].getAttribute("name") == selectPer){if (DeptSel.childNodes[i].getAttribute("pwd") == document.getElementById("pwd").value){//alert('登陆成功!')