呵呵,我算是拍砖吧。说句不好听的话,这是让人吐血的代码。理由如下:
1.变量名尽是a,b...函数名就bb,这样的代码,多数公司看见是会pass的。2.楼主new ActiveXObject("Microsoft.XMLDOM");一个对象后就只知道一个load方法,呵呵,想想微软不会这么笨只提供各load还有很多方法,你直接调用,那需要这么多代码3.你这个只能解析列表形式的代码,功能太简单了水平有待提高。
1.变量名尽是a,b...函数名就bb,这样的代码,多数公司看见是会pass的。2.楼主new ActiveXObject("Microsoft.XMLDOM");一个对象后就只知道一个load方法,呵呵,想想微软不会这么笨只提供各load还有很多方法,你直接调用,那需要这么多代码3.你这个只能解析列表形式的代码,功能太简单了水平有待提高。
只有IE能用……
用了XML还用正则来解析……
<html>
<body></body>
<script>
function Xml2Html(file)
{
var xmldoc = new ActiveXObject("Microsoft.XMLDOM");
xmldoc.load(file);
var result = "<ul>" + Node2Html(xmldoc.documentElement) + "</ul>";
return result;
}function Node2Html(node)
{
var result = "<li>";
if (node.nodeType == 3)
result += "\"" + node.nodeValue + "\"";
else result += node.nodeName;
if (node.childNodes.length > 0)
{
result += "<ul>";
for (var i = 0; i < node.childNodes.length; i++)
result += Node2Html(node.childNodes[i]);
result += "</ul>";
}
result += "</li>";
return result;
}document.body.innerHTML = Xml2Html("a.xml");
</script>
</html>
如:
<java>hehe</java> 只取java不去hehe 用xmldom可以吗? 谁会啊???
result += "\"" + node.nodeValue + "\"";
改为
if (node.nodeType == 3) node.parentNode.removeChild(node);
结果完全不行 请高手帮忙~~~
<body></body>
<script>
function Xml2Html(file)
{
var xmldoc = new ActiveXObject("Microsoft.XMLDOM");
xmldoc.load(file);
var result = "<ul>" + Node2Html(xmldoc.documentElement) + "</ul>";
return result;
}function Node2Html(node)
{
var result = "<li>";
if (node.nodeType == 3)
return ""; // 如果是 Text
else result += node.nodeName;
if (node.childNodes.length > 0)
{
result += "<ul>";
for (var i = 0; i < node.childNodes.length; i++)
result += Node2Html(node.childNodes[i]);
result += "</ul>";
}
result += "</li>";
return result;
}document.body.innerHTML = Xml2Html("a.xml");
</script>
</html>
如果:
<java>hehe </java> 只取hehe不取java 下面这么做怎么不行啊???
if (node.nodeType == 3)
result += "\"" + node.nodeValue + "\"";
else result += node.nodeName;
改为:
if (node.nodeType == 3)
result+= "\"" + node.nodeValue + "\"";
else return "";
http://www.v-ec.com/jslib源文件!