
<project name="structs2" description="demo" basedir=""default="">
这一行default前面没有空格,加上空格 之后
buildxml:2: Unexpected attribute "description"说这个属性不对,把这个属性去掉
<project name="structs2" basedir="" default="">Buildfile: C:\Users\Administrator\Desktop\bbb\buildxml
[echo] ${builddir}=dd
BUILD SUCCESSFUL
Total time: 0 seconds
<input type="button" name="Submit" value="提交" onclick="alert(new_contentselectSingleNode('/news')text)">
上述方式修改后,在IE6中可以显示news中的文本。
//显示文本
alert(new_contentselectSingleNode('/news')text)
//显示XML内容
alert(new_contentselectSingleNode('/news')xml)
Unparsed entities
An unparsed entity looks similar to an external entity with the NDATA keyword followed by notation identifier
<!ENTITY foo SYSTEM "somethingtxt" NDATA txt>
NDATA (Notation Data) means that this ENTITY'S content is assigned to a certain notation type
Unparsed entities can occur only in Attribute values that are declared to be of types ENTITY or ENTITIES
可查看: >
楼上说的不全对
你这个XML声明一个文档类型定义(DTD)dtdsfclmldtd
所以这个XML的Element是由该DTD定义的,DTD指定了 XML 文档的标记。简而言之,DTD 指定:可以在文档中存在的元素、那些元素可以具有的属性、在元素内部元素的层次结构以及元素在整个文档中出现的顺序。
另外DTD的语法相当复杂,并且它不符合XML文件的标准。目前已经被W3C定义的Schema取代。
没有声明Schema和DTD的XML文档才可以自由定义。
XML页决少根元素,最后一个<buttonholder>没有关闭。
<xml version="10" encoding="gb2312" >
<coffeecupmenu version="31"
x="0"
y="0"
w="111"
h="483"
bkdobk="t"
bkdogradient="f"
bkfillclr="0xFFFFFF"
bkfillalpha="100"
bkgradclr="0xFFFFFF"
bkgradalpha="100"
bkgradangle="70"
bkdoimg="f"
bkimg=""
bkdobdr="f"
bkbdrsolid="t"
bkbdrcolor="0x808080"
bkdomask="t"
fntx="0"
fnty="0"
fntalpha="100"
fnttext=""
fntsize="10"
fntclr="0x000000"
fntbold="f"
fntitalic="f"
fnt="Arial"
horz="f"
transinalpha="t"
transinxscale="t"
transinyscale="t"
transoutalpha="t"
transoutxscale="t"
transoutyscale="t"
showscrollbtns="f"
fntuline="f"
clicksound=""
textposition="center"
transparent="f"
mfontSize="10"
mtextposition="center"
mfontname="Arial"
mfontweight="f"
mfontstyle="f"
mfontuline="f"
mfontcolor="0x000000"
btnimage="default1png"
menuimage="default2png"
dorollover="f"
>
<buttonholder
x="1"
y="1"
w="111"
h="322"
bkdomask="t"
bkdobk="f"
bkfillclr="0xc0c0c0"
bkfillalpha="100"
buttonw="111"
buttonh="34"
buttonspacing="5"
doscroll="t"
horz="f"
embedded="t"
>
<button
bkdomask="t"
bkdobk="f"
bkfillalpha="100"
bkdoimg="t"
bkimg="default1png"
txt="Main Button"
link=""
frame=""
submenuname="btn1menu"
></button>
<button
bkdomask="t"
bkdobk="f"
bkfillalpha="100"
bkdoimg="t"
bkimg="default1png"
txt="Main Button"
link=""
frame=""
submenuname="btn2menu"
></button>
<button
bkdomask="t"
bkdobk="f"
bkfillalpha="100"
bkdoimg="t"
bkimg="default1png"
txt="Main Button"
link=""
frame=""
submenuname="btn3menu"
></button>
<button
bkdomask="t"
bkdobk="f"
bkfillalpha="100"
bkdoimg="t"
bkimg="default1png"
txt="Main Button"
link=""
frame=""
submenuname="btn4menu"
></button>
</buttonholder>
<buttonholder
x="0"
y="0"
w="111"
h="83"
issubmenu="t"
name="btn1menu"
buttonw="111"
buttonh="34"
buttonspacing="5"
doscroll="t"
horz="f"
>
<button
bkdomask="t"
bkdobk="f"
bkfillalpha="100"
bkdoimg="t"
bkimg="default2png"
txt="New Button"
link=""
frame=""
></button>
</buttonholder>
</coffeecupmenu>
其实解析XML有两种方式,一种叫DOM,一种就是SAX。
其中DOM的解析方式是一次性把XML读入到内存中,然后按照XML的结构在内存中生成一颗DOM树,这样你可以从XML的根节点开始访问XML的每一个节点。但是种方式因为要把XML一次性全部读入内存,所以内存的消耗是很大的。如果XML很大的话,不建议使用这种方式。
SAX比较灵活,它是一个标签,一个标签的解析,每解析一个标签的时候就会调用相应的一个函数。已经解析过的标签,就被程序丢掉了(除非用你自己的方式把它记下来)。给你举个例子,比如有这样一个xml文件:
<年级 名称=“一年级”>
<班级 名称=“一班”>
<班主任 名称=“XXX”/>
</班级>
<班级 名称=“二班”>
<班主任 姓名=“YYY”>
</班级>
</年级>
对于这个XML,SAX的解析方式是,首先遇到"年级"标签,然后调用函数startElement(),在这个方法里,你可以读取“年级”标签的名称是“一年级”,然后往下执行,读到了班级,这个时候程序会再次自动的触发startElement()方法,然后得到班级的名称,这个时候已经读取的“年级”的信息就不存在了。后面的标签以此类推。
当读到</班级>标签的时候,程序会自动出发endElement()方法。当然读到</年级>的时候也会触发这个方法。
总的来说,程序对XML每做一次进一步的 *** 作,就会触发一个相应的函数,触发的这个函数叫做回调函数(其实不知道它是回调函数也没关系)。个人感觉整个解析的过程就类似于对栈的 *** 作。
解释的很粗浅,因为如果真正要把这个问题说明白很麻烦,不过希望这个解释能给你帮助 :)
以上就是关于大神ant 编写的一个xml程序问题全部的内容,包括:大神ant 编写的一个xml程序问题、关于xml的问题、高手帮忙解答关于XML的问题!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)