我找不到在Text组件的htmlText属性中绑定变量的方法,我希望能够做到这样的事情:
<mx:Text id="bodyText" styleName="bodyText">
<mx:htmlText >
<![CDATA[<img src='assets.OrangeRect' align='left' hspace='0' vspace='4'/> Bonjour {UserData.name} ]]>
</mx:htmlText>
</mx:Text>
Run Code Online (Sandbox Code Playgroud)
我想绑定UserData.name
CDATA-blocks非常适合将大块HTML或CSS编码为字符串.但是,我无法弄清楚如何在一个变量值中使用变量值.
例如,请考虑以下JavaScript代码:
var FullName = "Friedrich Hayek";
var ProfileCode = (<><![CDATA[
<div id="BigHonkingChunkO_HTML">
...Lot's o' code...
Name: $FullName$
Birth: $Birthdate$
...Lot's o' code...
... $FullName$ ...
...Lot's o' code...
</div>
]]></>).toString ();
Run Code Online (Sandbox Code Playgroud)
如何$FullName$渲染为"Friedrich Hayek"而不是"$ FullName $"?
请注意,有多个变量,每个变量可以在CDATA块中使用几次.
替代代码示例:
var UserColorPref = "red";
var UI_CSS = (<><![CDATA[
body {
color: $UserColorPref$;
}
]]></>).toString ();
Run Code Online (Sandbox Code Playgroud)
希望将颜色属性设置为red.
<![CDATA[并且]]>不允许在一个<![CDATA[ … ]]>街区内.这是可以理解的.
现在,我必须在<![CDATA[ … ]]>块内传输用户输入的数据.而恶意用户可能输入任一<![CDATA[或]]>或两者兼而有之.
问题是:处理这种情况的首选方法是什么?
<![CDATA[和]]>?我正在解析服务器上的XML,我读它并解析它没有任何错误但是我无法看到数据.
这是我的XML:
<BookData><book><Title><![CDATA[ABC]]></Title><AuthorFName1><![CDATA[A]]></AuthorFName1><AuthorLName1><![CDATA[B]]></AuthorLName1></book><book><Title><![CDATA[XYZ]]></Title><AuthorFName1><![CDATA[A]]></AuthorFName1><AuthorLName1><![CDATA[B]]></AuthorLName1></book>
Run Code Online (Sandbox Code Playgroud)
我正在使用DocumentBuilderFactory即使我设置也看到了代码
dbf.setCoalescing(true);
Run Code Online (Sandbox Code Playgroud)
但仍然无法正常工作请参阅DocumentBuilderFactory的代码
Document doc = null;
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setCoalescing(true);
try {
DocumentBuilder db = dbf.newDocumentBuilder();
InputSource is = new InputSource();
is.setCharacterStream(new StringReader(xml));
doc = db.parse(is);
} catch (ParserConfigurationException e) {
Log.d("XML parse Error:", e.getMessage());
return null;
} catch (SAXException e) {
Log.d("Wrong XML File Structure", e.getMessage());
return null;
} catch (IOException e) {
Log.d("IOException", e.getMessage());
return null;
}
Run Code Online (Sandbox Code Playgroud) CDATA在XML中使用如下:
<my-tag><![CDATA[my-data]]></my-tag>
Run Code Online (Sandbox Code Playgroud)
这是一种非常不寻常的语法.当我第一次看到它时,我认为它是我尚未学习的一些通用XML构造的特定形式.但是,据我所知(XML CDATA规范),它不是.
我的问题:有没有理由为什么CDATA部分看起来像它,例如是一些SGML的特殊情况?或者有些语言设计师只是想到有一天"我会在CDATA之前用支架制作一个CDATA部分,之后是一个支架,一个感叹号,用尖括号包围."
我正在阅读这个问题,我有一个相关的问题:
这家伙在这里说:
它在脚本标记中用于避免解析<和&.在HTML中,这不是必需的,因为在HTML中,脚本已经是#CDATA.
Question #1
如果SCRIPT 已经是#CDATA:为什么它仍然作为CDATA渲染(在脚本标记下)?
<script type="text/javascript">
// <![CDATA[
// ]]>
</script>
Run Code Online (Sandbox Code Playgroud)
Question #2
为什么它是一个评论?(//)
这真的伤害了眼睛.我在/sf/answers/117210411/中使用XML Literals,这样我就可以在VB.NET程序中方便地使用多行SQL.当我需要sql的'<>'(不相等)时,我被迫使用CDATA,并且VS为那些简单可怕的颜色着色.它就像一个超浅灰色.
有没有人遇到这个并知道如何解决它,或解决它?
我是XML及其相关技术的新手.
这个CDATA标签总是在开头,然后是一些东西
我在我的XML文件中使用它:
<text><![CDATA[<![CDATA[TAX INVOICE]]]]><![CDATA[>]]></text>
Run Code Online (Sandbox Code Playgroud)
我有以下问题.请帮我.
什么
<![CDATA[some text]]]]>
意思?
我正在尝试使用PHP创建一个Web服务,以便与应用程序进行通信,从数据库获取数据并将其转换为应用程序的XML格式.但是,其中一列包含HTML,需要输出(我认为)作为CDATA.虽然我很难完成这个.请指教
<?php
mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
mysql_select_db(DB_NAME);
$sql = "SELECT post_date_gmt, post_content, post_title FROM [schema].wp_posts WHERE post_status = \"publish\" && post_type = \"post\" ORDER BY post_date_gmt DESC;";
$res = mysql_query($sql);
$xml = new XMLWriter();
$xml->openURI("php://output");
$xml->startDocument();
$xml->setIndent(true);
$xml->startElement('BlogPosts');
while ($row = mysql_fetch_assoc($res)) {
$xml->startElement("Post");
$xml->startElement("PostDate");
$xml->writeRaw($row['post_date_gmt']);
$xml->endElement();
$xml->startElement("PostTitle");
$xml->$writeRaw($row['post_title']);
$xml->endElement();
$xml->startCData("PostContent");
$xml->writeCData($row['post_content']);
$xml->endCData();
$xml->endElement();
}
$xml->endElement();
header('Content-type: text/xml');
$xml->flush();
?>
Run Code Online (Sandbox Code Playgroud)
非常感谢您提供的任何帮助!
我有以下xml
<parent>
<child>abra</child>
<child>kadabra</child>
<child>alakazam</child>
<![CDATA[ some data here ]]>
</parent>
Run Code Online (Sandbox Code Playgroud)
我想提取cdata部分,我所做的是 - 将数据转换为字符串并使用以下代码将其解压缩
string toText = xmlDoc.OuterXml.Substring(xmlDoc.OuterXml.IndexOf("<![CDATA[") + "<![CDATA[".Length);
toText = toText.Remove(toText.IndexOf("]]>"));
Run Code Online (Sandbox Code Playgroud)
其中xmlDoc是XMLDocument,它包含xml以上
有没有更好的方法呢?
我google了很多,但我得到的是cdata部分的提取,只要它是其父元素的唯一子元素.
最后我想修改cdata部分并修改当前的xml为
<parent>
<child>abra</child>
<child>kadabra</child>
<child>alakazam</child>
<![CDATA[ modified data here ]]>
</parent>
Run Code Online (Sandbox Code Playgroud) cdata ×10
xml ×6
actionscript ×1
android ×1
apache-flex ×1
asp.net ×1
c# ×1
editor ×1
html ×1
javascript ×1
php ×1
sql ×1
variables ×1
vb.net ×1
xml-parsing ×1