23 private static readonly
char[]
s_escapeChars =
new char[5] {
'<',
'>',
'"',
'\'',
'&' };
25 private static readonly
string[]
s_escapeStringPairs =
new string[10] {
"<",
"<",
">",
">",
"\"",
""",
"'",
"'",
"&",
"&" };
57 for (
int i = 0; i <
count; i += 2)
168 for (
int i = 0; i <
count; i += 2)
171 if (
string.Equals(a, name))
243 for (
int i = 0; i <
count; i++)
247 if (!
string.Equals(a, b))
273 if (securityElement ==
null || !securityElement.
Equal(other2))
287 return securityElement;
290 public static bool IsValidTag([NotNullWhen(
true)]
string? tag)
325 for (
int i = 0; i < num; i += 2)
337 [
return: NotNullIfNotNull(
"str")]
354 if (stringBuilder ==
null)
358 stringBuilder.
Append(
str, num, num2 - num);
362 if (stringBuilder ==
null)
372 int num = str.Length -
index;
374 for (
int i = 0; i < num2; i += 2)
385 newIndex =
index + 1;
400 int num =
str.IndexOf(
'&', newIndex);
405 if (stringBuilder ==
null)
409 stringBuilder.
Append(
str, newIndex, num - newIndex);
412 if (stringBuilder ==
null)
438 for (
int i = 0; i <
count; i += 2)
485 for (
int i = 0; i <
count; i += 2)
488 if (
string.Equals(a, name))
509 if (child !=
null &&
string.Equals(child.
Tag, tag))
523 if (
string.Equals(
_tag, tag))
virtual IEnumerator GetEnumerator()
virtual int Add(object? value)
virtual void Add(object key, object? value)
static string Format(string resourceFormat, object p1)
static string Argument_InvalidElementTag
static string Argument_InvalidElementName
static string Argument_InvalidElementValue
static string Argument_AttributeNamesMustBeUnique
static string Argument_InvalidElementText
static string ArgumentNull_Child
static bool IsValidTag([NotNullWhen(true)] string? tag)
static bool IsValidAttributeValue([NotNullWhen(true)] string? value)
static string Unescape(string str)
SecurityElement(string tag, string? text)
static readonly char[] s_textIllegalCharacters
string? SearchForTextOfTag(string tag)
void ToString(object obj, Action< object, string > write)
static ? SecurityElement FromString(string xml)
static string GetEscapeSequence(char c)
string? Attribute(string name)
static string GetUnescapeSequence(string str, int index, out int newIndex)
bool Equal([NotNullWhen(true)] SecurityElement? other)
static readonly char[] s_valueIllegalCharacters
static bool IsValidText([NotNullWhen(true)] string? text)
SecurityElement? SearchForChildByTag(string tag)
static readonly char[] s_escapeChars
override string ToString()
static readonly string[] s_escapeStringPairs
static ? string Escape(string? str)
void AddAttribute(string name, string value)
void AddChild(SecurityElement child)
static readonly char[] s_tagIllegalCharacters
void AddAttributeSafe(string name, string value)
static bool IsValidAttributeName([NotNullWhen(true)] string? name)
SecurityElement(string tag)
override string ToString()
StringBuilder Append(char value, int repeatCount)