xml特殊字符2008-07-03 14:31转义字符
不合法的XML字符必须被替换为相应的实体。
如果在XML文档中使用类似"<" 的字符, 那么解析器将会出现错误,因为解析器会认为这是一个新元素的开始。所以不应该象下面那样书写代码:
<message>if salary < 1000 then</message>
为了避免出现这种情况,必须将字符"<" 转换成实体,象下面这样:
<message>if salary < 1000 then</message>
下面是五个在XML文档中预定义好的实体:
< < 小于号
> > 大于号
& & 和
' ' 单引号
" " 双引号
实体必须以符号"&"开头,以符号";"结尾。
注意: 只有"<" 字符和"&"字符对于XML来说是严格禁止使用的。剩下的都是合法的,为了减少出错,使用实体是一个好习惯。
CDATA部件
在CDATA内部的所有内容都会被解析器忽略。
如果文本包含了很多的"<"字符和"&"字符——就象程序代码一样,那么最好把他们都放到CDATA部件中。
一个 CDATA 部件以"<![CDATA[" 标记开始,以"]]>"标记结束:
<script>
<![CDATA[
function matchwo(a,b)
{
if (a < b && a < 0) then
{
return 1
}
else
{
return 0
}
}
]]>
</script>
在前面的例子中,所有在CDATA部件之间的文本都会被解析器忽略。
CDATA注意事项:
CDATA部件之间不能再包含CDATA部件(不能嵌套)。如果CDATA部件包含了字符"]]>" 或者"<![CDATA[" ,将很有可能出错哦。
同样要注意在字符串"]]>"之间没有空格或者换行符。
下面是一个示例xml文件:
<?xml version="1.0" encoding="utf-8" ?>
<Task>
<TaskName
><![CDATA[JJ建筑师]]></TaskName>
<TaskInstruction>持有JJ建筑师牌匾(3000块JJ奠基石合成)。</TaskInstruction>
<TaskDoingIcon img="/images/Icon/rose.gif"></TaskDoingIcon>
<TaskDoneIcon img="/images/Icon/rosetest.gif"></TaskDoneIcon>
<TaskAchievementScore img="/images/Score/score02.gif"></TaskAchievementScore>
<TaskAchievementScoreHighlight img="/images/Score/score2.gif"></TaskAchievementScoreHighlight>
<TaskConditions>
</TaskConditions>
<TaskAchievements>
<AchievementDoing Text="JJ建筑师牌匾,可以用3000块奠基石合成," LinkText="马上去合成!" link="jjtp://my.jj.cn/achievementList.php?act=achieve
&achievementid=28"></AchievementDoing>
<AchievementDone Text="奠基石3000枚,建设JJ的路途,感谢您的鼎力相助!"></AchievementDone>
</TaskAchievements>
<TaskRewards>
<TaskReward Reward=""></TaskReward>
<TaskReward Reward=""></TaskReward>
</TaskRewards>
<Buttons>
<objId></objId>
<Button id="MBegin" img="/images/AcceptButton/accept_01.png"></Button>
<Button id="MExecution" img="/images/RewardButton/reward_01.png"></Button>
</Buttons>
</Task>
分享到:
相关推荐
XML(eXtensible Markup ...总结来说,理解并正确处理XML特殊字符是XML编程中的基础,也是保证数据正确传输和解析的关键。不论是手动编写XML文档,还是通过编程语言操作XML,都应确保特殊字符被适当地转义或编码。
在XML(可扩展标记语言)中,特殊字符的处理是一项重要的技术细节,它直接关系到文档的正确解析和展示。由于XML是一种用于标记文本的元语言,它使用一系列的规则来定义数据结构和数据类型,因此,对于XML文档中可能...
CDATA(Character Data)是XML中的一种特殊语法,用于表示一段纯文本,其中的XML特殊字符(如", ">", "&")不需要转义。在XML中,可以使用`<![CDATA[ ... ]]>`来创建CDATA段。当处理包含大量特殊字符的数据时,使用...
### XML特殊字符转义 1. `转义为 `<` 2. `>` 转义为 `>` 3. `&` 转义为 `&` 4. `'` 转义为 `'` 5. `"` 转义为 `"` 例如,如果你的XML数据中包含字符串 `"It's a <good> day!"`,你应该将其...
在C#中,处理XML字符串时,由于XML的语法规则,某些特殊字符不能直接出现在XML文档中,否则会导致解析错误。这些特殊字符包括小于号 `、大于号 `>`、和与号 `&`。此外,对于XML属性值,单引号 `'` 和双引号 `"` 也...
在MyBatis中,XML配置文件常常用于定义SQL语句,但XML本身是一种结构化语言,对于某些特殊字符,如 `, `>`, `&` 等,XML解析器会将其视为标签或实体引用,这可能导致解析错误。因此,我们需要正确处理这些特殊字符以...
// 下面的是通过解析xml字符串的 doc = DocumentHelper.parseText(xml); // 将字符串转为XML Element rootElt = doc.getRootElement(); // 获取根节点 System.out.println("根节点:"+ rootElt.getName()); // ...
当遇到包含特殊字符如 "和 "&" 的文本时,XML解析器可能会产生错误,因为这些字符在XML语法中有特定含义。为了解决这个问题,我们可以使用CDATA(Character Data)段来封装这些文本,使得XML解析器将其视为纯文本...
由于XML是一种标记语言,它对某些字符有特定的规定,如果直接将这些特殊字符写入XML文件,则可能会导致解析错误或出现非预期的结果。因此,在XML文件中使用特殊字符时,需要采用转义字符来替代。 #### 特殊字符与...
每个子目录下的`string.xml`文件应具有相同的`name`属性,以便Android系统根据用户的语言设置自动选择相应的字符串资源。如果没有找到特定语言的字符串资源,系统会回退到默认的`values`目录下的资源。 2. **定义...
然而,在XML中直接使用一些特殊字符,比如大于(>)、小于(<)、等于(=)、单引号(')和双引号(")等,可能会导致XML解析错误,因为这些字符在XML文档中有特定的含义。为了解决这个问题,Mybatis提供了一些处理...
XStream是一个强大的Java库,它允许开发者方便地将Java对象序列化为XML,同时也能将XML数据反序列化回对应的Java对象。这个过程对于数据存储、网络传输或者XML配置文件的处理非常有用。在处理多个同名子节点以及节点...
在IT领域,尤其是在数据库操作与编程中,对特殊字符的处理是至关重要的。特殊字符,如方括号、单引号、百分号、下划线和脱字号等,在SQL语句中有特定的意义,若不正确处理,可能会导致SQL语法错误或注入攻击。本文将...
- 如上述代码所示,可以编写一个函数`covert_xml_special_char`来处理这些特殊字符。这个函数通过Python的字符串`replace`方法,将这些特殊字符替换为它们对应的实体引用。 - `&` 用于转义 `&` - `"` ...
特别是在使用类似`LIKE`这样的操作符时,如果用户输入的数据中含有`%`、`_`或`#`等特殊字符,那么这些字符可能会被SQL解释器误认为是通配符或者特殊符号,导致查询结果不符合预期。本文将详细介绍如何在ibatis框架下...
2. **处理XML特殊字符**:XML中的`、`>`、`&`等字符有特殊含义,需要转义。在使用`sed`时,需要确保这些字符不会干扰到正则表达式的解析。例如,使用`\>`来匹配实际的`>`字符。 3. **行内与行间匹配**:由于`sed`...
在Java编程中,数据结构与XML(eXtensible Markup Language)之间的转换是常见的操作,尤其是在处理数据交换或存储时。...在进行这样的转换时,确保处理好异常、空值和特殊字符,以确保数据的完整性和安全性。
在SVG文档中,特殊字符用于表示非ASCII码范围内的字符,如版权符号、引号、货币符号等。这些字符无法通过普通的键盘输入,但在HTML或SVG中,可以使用实体引用(entity reference)或数值引用(numeric character ...
此外,当涉及XML、JSON或其他数据格式时,特殊字符的处理也至关重要。例如,在XML中,某些字符如"和"&"需要被转义为"<"和"&"。Foundation框架的NSXMLParser或NSJSONSerialization类提供了处理这些格式的API。...