如果给定字符是XML标记字符,.NET框架中是否有任何方法返回true?也就是说,其中一个字符'"<>_&
和其他可能存在的字符。
我知道我也可以进行简单的字符串搜索,但是想知道是否存在不依赖于手动输入字符的内置方法。
答案 0 :(得分:4)
您可以结帐following KB article。
答案 1 :(得分:4)
我不确定术语“XML标记字符”(或者更确切地说是用于检测这些字符的上下文无关功能)非常有意义,因为您列出的某些字符仅具有特殊含义,具体取决于它们出现的上下文(例如'
和"
,如果它们出现在标记之外,则为普通字符。)
除此之外,您总是可以编写自己的函数:
bool IsMarkupCharacter(char ch)
{
switch (ch)
{
case '\'':
case '\"':
case '<':
case '>':
case '&':
return true;
default:
return false;
}
}
当然,您需要根据XML规范检查这一点,以检查它是否真的完整。 (顺便说一句,我没有在你的列表中包含_
;它对XML没有任何特殊意义,AFAIK。)
答案 2 :(得分:3)
您也可以使用此代码
const string XMLCHARS = "'\"\\<>&";
if(XMLCHARS.Contains(c))
{
--
}
答案 3 :(得分:1)
您可以使用扩展程序
public static class CharExtension
{
public static bool IsXmlMarkup(this char charecter)
{
if(charecter == '\'' || charecter == '\"' || e.t.c)
return true;
return false;
}
}
然后只需使用
char c = '\'';
var res = c.IsXmlMarkup();