下面脚本中的 xmldoc.LoadXml(s);在C#后台代码中可以运行,但是在脚本中不能运行。请问大虾是什么原因? <script type="text/javascript"> function loadXML(handler) { var url = "employee.xml"; var xmldoc = new ActiveXObject("Microsoft.XMLDOM"); //xmldoc.onreadystatechange = function() { // if(xmldoc.readyState == 4) handler(xmldoc, url); // } // xmldoc.load(url); var s=document.getElementById("<%=TextBox2.ClientID %>").value; //存放Xml字符串 xmldoc.LoadXml(s);
} function makeTable(xmldoc,url) {
var table = document.createElement("table"); table.setAttribute("border","1"); table.setAttribute("width","600"); table.setAttribute("class","tab-content"); document.body.appendChild(table); var caption = "Employee Data from " + url; table.createCaption().appendChild(document.createTextNode(caption)); var header = table.createTHead(); var headerrow = header.insertRow(0); headerrow.insertCell(0).appendChild(document.createTextNode("姓名")); headerrow.insertCell(1).appendChild(document.createTextNode("职业")); headerrow.insertCell(2).appendChild(document.createTextNode("工资")); var employees = xmldoc.getElementsByTagName("employee"); for(var i=0;i<employees.length;i++) { var e = employees[i]; var name = e.getAttribute("name"); var job = e.getElementsByTagName("job")[0].firstChild.data; var salary = e.getElementsByTagName("salary")[0].firstChild.data; var row = table.insertRow(i+1); row.insertCell(0).appendChild(document.createTextNode(name)); row.insertCell(1).appendChild(document.createTextNode(job)); row.insertCell(2).appendChild(document.createTextNode(salary)); } } </script>
显示xml数据可以用XMlDOM或者xsl转换都可以啊
1.如何实现将xml文件转成字符串?
2.将字符串转成xml文件?
3.根据生成的xml文件创建层显示xml文件内容?
x.Load("xml文件");
string s = x.OuterXml;s = "xml字符串";
x.LoadXml(s);
x.Save("xml文件");System.Xml.Xsl.XslTransform RssXslt = new System.Xml.Xsl.XslTransform();
System.Xml.XmlDocument RssXml = new System.Xml.XmlDocument();
RssXslt.Load(Server.MapPath("RssReader.xslt"));
RssXml.Load(Server.MapPath("Rss.xml"));
System.Text.StringBuilder t = new System.Text.StringBuilder();
RssXslt.Transform(RssXml,null,new System.IO.StringWriter(t),null);
string resultString = t.ToString();divID.InnerHtml=resultString;
xml的优点之一就是数据和表现分离。
要想显示:你必须
1,你用DOM或者XmlReader读出来
2,用xsl显示好好看看sdk
<script type="text/javascript">
function loadXML(handler) {
var url = "employee.xml";
var xmldoc = new ActiveXObject("Microsoft.XMLDOM");
//xmldoc.onreadystatechange = function() {
// if(xmldoc.readyState == 4) handler(xmldoc, url);
// }
// xmldoc.load(url);
var s=document.getElementById("<%=TextBox2.ClientID %>").value; //存放Xml字符串
xmldoc.LoadXml(s);
}
function makeTable(xmldoc,url) {
var table = document.createElement("table");
table.setAttribute("border","1");
table.setAttribute("width","600");
table.setAttribute("class","tab-content");
document.body.appendChild(table);
var caption = "Employee Data from " + url;
table.createCaption().appendChild(document.createTextNode(caption));
var header = table.createTHead();
var headerrow = header.insertRow(0);
headerrow.insertCell(0).appendChild(document.createTextNode("姓名"));
headerrow.insertCell(1).appendChild(document.createTextNode("职业"));
headerrow.insertCell(2).appendChild(document.createTextNode("工资"));
var employees = xmldoc.getElementsByTagName("employee");
for(var i=0;i<employees.length;i++) {
var e = employees[i];
var name = e.getAttribute("name");
var job = e.getElementsByTagName("job")[0].firstChild.data;
var salary = e.getElementsByTagName("salary")[0].firstChild.data;
var row = table.insertRow(i+1);
row.insertCell(0).appendChild(document.createTextNode(name));
row.insertCell(1).appendChild(document.createTextNode(job));
row.insertCell(2).appendChild(document.createTextNode(salary));
}
}
</script>
xmldoc.loadXML("<ok/>")