Я пытаюсь загрузить файл metadata.xml от моей машины, но это дает ошибку, какКак открыть xml с помощью XElement?
The ':' character, hexadecimal value 0x3A, cannot be included in a name.
пожалуйста, дайте мне помочь найти правильный путь для XML нагрузки с использованием XElement.
C# код
private static void xmlProcess()
{
string filePath = @"D:\metadata.xml";
if (System.IO.File.Exists(filePath))
{
// load xml file from destination folder
XElement document = new XElement(filePath);
var country = "IN";
var curProduct = document.Elements("country").Where(t => t.Value == country).FirstOrDefault().Parent;
}
}
XML File (metadata.xml)
<root version="mech5.2">
<language>en-US</language>
<provider>Provider1</provider>
<data>
<title>Engine1</title>
<vendor_id>ABC</vendor_id>
<products>
<product>
<country>IN</country>
<times>
<time>
<start_date>2017-01-15</start_date>
<end_date>2017-09-15</end_date>
</time>
</times>
</product>
</products>
</data>
</root>
почему я получаю эту ошибку: «Символ ':' символ, шестнадцатеричное значение 0x3a, не могут быть включены в название «
XML-вы вывесили хорошо. Откройте файл с помощью блокнота и убедитесь, что он совпадает с тем, который вы опубликовали. Я не вижу двоеточия в любом месте, которое даст ошибку, которую вы публикуете. – jdweng
Я бы поменял ваш запрос на следующее: var curProduct = document.Descendants ("product"). Где (t => (строка) t.Element ("страна") == страна) .FirstOrDefault(); – jdweng