Мы получаем XML -документы, которые мы обрабатываем с использованием XDOCUMENT, но содержат выражения HEX Entity. Документы, скорее всего, были созданы процессом, вызывающим Xmldocument. Метод xdocument.parse отклоняет эти документы. >
xdocument бросает исключение в обоих случаях. < /p>
Пример: < /p>
static void Main(string[] args)
{
string message = "Hello, \x1EWorld!"; // string with control code 1E encoded.
// This block completes - create an xml document incorporating the message string
XmlDocument xmlDoc = new XmlDocument();
XmlElement root = xmlDoc.CreateElement("greeting");
xmlDoc.AppendChild(root);
root.InnerText = message;
Console.WriteLine(xmlDoc.OuterXml);
// Outputs: Hello, World!
// This block fails - XDocument creation of document containing control-code character x1E
try
{
XDocument xdoc = new XDocument(
new XElement("greeting", message)
);
Console.WriteLine(xdoc.ToString());
}
catch (Exception ex)
{
Console.WriteLine($"XDocument creation error: {ex}");
}
// This block completes - XmlDocument load document containing an  entity expression
string xmlWithEscapedHexEntity = xmlDoc.OuterXml; // Hello, World!";
xmlDoc = new XmlDocument();
xmlDoc.LoadXml(xmlWithEscapedHexEntity);
Console.WriteLine(xmlDoc.OuterXml);
// This block fails - XDocument parse document containing an  entity expression
try
{
XDocument xDoc = XDocument.Parse(xmlWithEscapedHexEntity);
Console.WriteLine(xDoc.ToString());
}
catch (Exception ex)
{
Console.WriteLine($"XDocument parse failure: {ex}");
}
Console.ReadLine();
}
< /code>
Есть ли способ, которым мы можем сделать XDocument игнорировать какие -либо коды шестнадцатеричных объектов или заменить на отдельные пространственные чары? В противном случае, нам придется предварительно обработать документы с помощью корпорации, чтобы заменить такие выражения на пробелы.>
Подробнее здесь: https://stackoverflow.com/questions/794 ... -character
C# - Xmldocument vs xdocument Поведение на недействительным шестнадцатеричном характере ⇐ C#
Место общения программистов C#
1738941006
Anonymous
Мы получаем XML -документы, которые мы обрабатываем с использованием XDOCUMENT, но содержат выражения HEX Entity. Документы, скорее всего, были созданы процессом, вызывающим Xmldocument. Метод xdocument.parse отклоняет эти документы. >
xdocument бросает исключение в обоих случаях. < /p>
Пример: < /p>
static void Main(string[] args)
{
string message = "Hello, \x1EWorld!"; // string with control code 1E encoded.
// This block completes - create an xml document incorporating the message string
XmlDocument xmlDoc = new XmlDocument();
XmlElement root = xmlDoc.CreateElement("greeting");
xmlDoc.AppendChild(root);
root.InnerText = message;
Console.WriteLine(xmlDoc.OuterXml);
// Outputs: Hello, World!
// This block fails - XDocument creation of document containing control-code character x1E
try
{
XDocument xdoc = new XDocument(
new XElement("greeting", message)
);
Console.WriteLine(xdoc.ToString());
}
catch (Exception ex)
{
Console.WriteLine($"XDocument creation error: {ex}");
}
// This block completes - XmlDocument load document containing an  entity expression
string xmlWithEscapedHexEntity = xmlDoc.OuterXml; // Hello, World!";
xmlDoc = new XmlDocument();
xmlDoc.LoadXml(xmlWithEscapedHexEntity);
Console.WriteLine(xmlDoc.OuterXml);
// This block fails - XDocument parse document containing an  entity expression
try
{
XDocument xDoc = XDocument.Parse(xmlWithEscapedHexEntity);
Console.WriteLine(xDoc.ToString());
}
catch (Exception ex)
{
Console.WriteLine($"XDocument parse failure: {ex}");
}
Console.ReadLine();
}
< /code>
Есть ли способ, которым мы можем сделать XDocument игнорировать какие -либо коды шестнадцатеричных объектов или заменить на отдельные пространственные чары? В противном случае, нам придется предварительно обработать документы с помощью корпорации, чтобы заменить такие выражения на пробелы.>
Подробнее здесь: [url]https://stackoverflow.com/questions/79421216/c-sharp-xmldocument-vs-xdocument-behaviour-on-invalid-hexadecimal-character[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия