AS3字符串到XML

时间:2013-04-02 10:11:42

标签: javascript xml string actionscript-3

我有一个JS代码读取div的内容并返回字符串数据。 比我想读这个并转换为XML

首先将<转换为&lt;>转换为&gt;,而不是从html获取字符串:

XmlData = String(ExternalInterface.call("ReadXmlContent"));

创建XML:

bookxml = new XML(XmlData);

aaaa.htmlText +="bookxml "+ bookxml.toXMLString() + " <br>" // shows complete xml

aaaa.htmlText +="length"+ bookxml.content.page.length() + " <br>"; // shows : 0 

显示完整的xml但无法读取xml节点。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

抱歉英语不好。 感谢@Anton提出的有用的问题 解决方案:

我的Xml节点:

<MediaObject Title='name' MediaObjectID='14' X1='42,00' Y1='3,00' X2='72,00' Y2='31,00' MediaType='video'/>
<MediaObject Title='name' MediaObjectID='15' X1='3,00' Y1='3,00' X2='34,00' Y2='31,00' MediaType='video'/>

如果您在div中使用xml节点,浏览器会将其转换为:

<mediaobject title='name' mediaobjectid='14' x1='42,00' y1='3,00' x2='72,00' y2='31,00' mediatype='video'>
<mediaobject title='name' mediaobjectid='15' x1='3,00' y1='3,00' x2='34,00' y2='31,00' mediatype='video'></mediaobject></mediaobject>

浏览器更改节点,并将节点名称和属性转换为小写。

解决方案: 使用xml作为下面的值并阅读它。因此浏览器不会添加节点,也不会将节点名称/属性更改为小写。不要忘记使用带有“'”的属性值:

<input type="hidden" name="xmldata" id="xmldata" value="<Contents><Content PreviousContentID='30' PreviousContentName='aaa' NextContentID='28' NextContentName='aaa'><Page Number='3' RelativePath='images/res1.jpg' AbsolutePath='a.net'><MediaObject Title='aaa' MediaObjectID='58' X1='38,64' Y1='50,37' X2='54,06' Y2='54,25' MediaType='link'></MediaObject><MediaObject Title='aaa' MediaObjectID='58' X1='8,43' Y1='2,27' X2='33,12' Y2='24,31' MediaType='link'></MediaObject></Page></Content></Contents>">

如果你想在div里面使用: 将节点名称和属性用作小写, 不要使用这样的行:

<mediaobject title='name' mediaobjectid='14' x1='42,00' y1='3,00' x2='72,00' y2='31,00' mediatype='video'/>

将其更改为:

<mediaobject title='name' mediaobjectid='14' x1='42,00' y1='3,00' x2='72,00' y2='31,00' mediatype='video'></mediaobject>