以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 HTML/XHTML/Ajax/Web 2.0/Web 3.0 』  (http://bbs.xml.org.cn/list.asp?boardid=22)
----  [求助]用 xsl写的样式 怎么方便生成xml文件  (http://bbs.xml.org.cn/dispbbs.asp?boardid=22&rootid=&id=42143)


--  作者:lango2006
--  发布时间:1/9/2007 6:34:00 PM

--  [求助]用 xsl写的样式 怎么方便生成xml文件
有一个xml文件 我用 xsl 写成一个样式 写成了input框的样式,怎么样可以方便生成xml文件 其中节点的数据为 输入框的数据
用数据岛的话很方便,自动生成了,不需要一个个元素指定

可是 xsl 不行 或者
数据岛 怎么样指定 复杂元素
怎么进去子节点不行 (不用table 好像只有table才能进子节点)怎么取子节点的值 怎么判断子节点的值  更复杂的还有孙节点,一直进不去
看例子 xml数据岛方便的生成了xml文件
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>外部的XML文件</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.2900.3020" name=GENERATOR></HEAD>
<BODY><xml id=locationDSO>
<?xml version="1.0"?>
<root>
<city>Easton</city>
<state>Pennsylvania</state>
<c1>Easton</c1>
</root>
</xml>
<FORM><INPUT dataFld=city dataSrc=#locationDSO type=input name=input1>
<BR><INPUT dataFld=state dataSrc=#locationDSO type=input name=input1>

<INPUT dataFld=c1 dataSrc=#locationDSO type=input name=input1><INPUT id=Button1 onclick=" btnclickme();" type=button value=clickme> </FORM>
<SCRIPT language=javascript>

   var strOldXML,strNewXML;
     strOldXML = locationDSO.xml;
/*
display newXml;
*/
function btnclickme(){  
     strNewXML = locationDSO.xml;
     alert(strNewXML);
     if ( comparexml(strOldXML,strNewXML) ) {
       alert("modify");
       
     } else {
         alert("no modify");
     }
}

/*
  valid xml and compare oldxml and newXml
  return boolean
*/
function comparexml(strOldXML,strNewXML){
    
    if ( strOldXML == strNewXML )   
        return false;
     else  
       return true;
    

}


</SCRIPT>
</BODY></HTML>

[此贴子已经被作者于2007-1-10 9:21:52编辑过]

--  作者:Qr
--  发布时间:1/10/2007 11:01:00 AM

--  
以下是引用lango2006在2007-1-9 18:34:00的发言:
有一个xml文件 我用 xsl 写成一个样式 写成了input框的样式,怎么样可以方便生成xml文件 其中节点的数据为 输入框的数据
用数据岛的话很方便,自动生成了,不需要一个个元素指定

可是 xsl 不行 或者
数据岛 怎么样指定 复杂元素
怎么进去子节点不行 (不用table 好像只有table才能进子节点)怎么取子节点的值 怎么判断子节点的值  更复杂的还有孙节点,一直进不去


用 xsl 写成一个样式 写成了input框的样式,但生成XML仍需要一个个元素指定,不能象DSO一样用你前面的方法。
--  作者:lango2006
--  发布时间:1/10/2007 11:47:00 AM

--  
有100多个xml文件,而且还非常复杂
xml岛  取不到子元素的属性 ,不用属性吧
跑到下层的子元素 还要通过 table 来,我不需要这么多table

工作量太大

[此贴子已经被作者于2007-1-10 12:19:24编辑过]

--  作者:Qr
--  发布时间:1/15/2007 9:40:00 PM

--  
变通:
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<html>
<head>
<SCRIPT language="javascript">
<xsl:comment>
function test(){
alert(document.XSLDocument.xml);
alert(document.XMLDocument.xml);
var o = document.getElementsByTagName("input");
alert(o[0].getAttribute("value"));
}
</xsl:comment>
</SCRIPT>
</head>
<body>
 <xsl:apply-templates select="root" />
</body>
</html>
</xsl:template>


<xsl:template match="root">
 <input value="{city}"/><input value="{state}"/><input value="{c1}"/>
<INPUT id="Button1" onclick="test();" type="button" value="clickme"/>
</xsl:template>

</xsl:stylesheet>


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
8,296.875ms