首页 新闻 赞助 找找看

xml转义的问题,我现在在xml的里面要有尖括号,怎么办

0
悬赏园豆:5 [待解决问题]

比如:  <e ID="1" Name="张三<a />" Sex="0" Age="13" />

Name属性里面

xml
拖鞋王子的主页 拖鞋王子 | 初学一级 | 园豆:37
提问于:2012-09-21 13:31
< >
分享
所有回答(5)
0

不支持的字符一般都是通过编码转换来的,替换成可识别的等价的字符,如ASCII码,Unicode等

Ethan轻叹 | 园豆:996 (小虾三级) | 2012-09-21 13:36
0

< 用 &lt;

>用 &gt;

其它的都要用相应的实体符替换:

"  : &quot;

& : &amp;

'  : &apos;

向往-SONG | 园豆:4853 (老鸟四级) | 2012-09-21 13:37

不行

 var xe = new XElement("e");
            xe.SetAttributeValue("name", "&lt;aaaaa&gt;");

 

结果是:<e name="&amp;lt;aaaaa&amp;gt;" />

支持(0) 反对(0) 拖鞋王子 | 园豆:37 (初学一级) | 2012-09-21 13:40

不行

 var xe = new XElement("e");
            xe.SetAttributeValue("name", "&lt;aaaaa&gt;"); 

结果是:<e name="&amp;lt;aaaaa&amp;gt;" />

 

如果var xe = new XElement("e");
            xe.SetAttributeValue("name", "<aaaaa>");

结果是:<e name="&lt;aaaaa&gt;" />

 

我想要的是 name取出来就是<aaaaa>

支持(0) 反对(0) 拖鞋王子 | 园豆:37 (初学一级) | 2012-09-21 13:42

@拖鞋王子: 

它设置的时候就已经转换成实体符了,取出来的时候你再替换回来就是。

支持(0) 反对(0) 向往-SONG | 园豆:4853 (老鸟四级) | 2012-09-21 13:45

@拖鞋王子: 你先别加<>取出后在添加

支持(0) 反对(0) ycty | 园豆:112 (初学一级) | 2012-09-21 16:27
0

先都编码一下就行了

架构师修行之路 | 园豆:322 (菜鸟二级) | 2012-09-21 14:41
1

如果var xe = new XElement("e");
xe.SetAttributeValue("name", "<aaaaa>");

文件里显示的是:<e name="&lt;aaaaa&gt;" />

var value = xe.GetAttributeValue("name")

value 不等于 <aaaaa> 吗?

Launcher | 园豆:45045 (高人七级) | 2012-09-21 15:07
0

通过编码转

jason2013 | 园豆:1998 (小虾三级) | 2012-09-21 17:55
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册