#c# #xml #visual-studio-2010
#c# #xml #visual-studio-2010
Вопрос:
У меня возникла проблема со следующим — похоже, он не загружает мой XML-файл. Я хочу загрузить файл, а затем использовать XMLNodeLlist для итерации по нему и сохранения моих значений. XML-файл находится в моем решении Visual Studio 2010. Есть ли что-то, чего мне не хватает в пути?
XmlDocument xml = new XmlDocument();
public Test()
{
xml.LoadXml(@"C:UserstestuserDesktopTestWebsiteTestData.xml");
...more code
Ответ №1:
XmlDocument.loadXML(stirng xml) ожидает не путь к файлу, а фактическую строку xml. Вы могли бы использовать XmlDocument.Загрузите () и передайте ему поток файлов для вашего документа или путь к файлу:
XmlDocument xml = new XmlDocument();
xml.Load(@"C:UserstestuserDesktopTestWebsiteTestData.xml");
// or
xml.Load(File.OpenRead(@"C:UserstestuserDesktopTestWebsiteTestData.xml"));
Еще лучше, чем это, было бы использовать новый объект XDocument, который имеет метод load, который работает непосредственно с путем к файлу, это предпочтительный способ взаимодействия с Xml в более поздних версиях .NET, и я бы рекомендовал использовать этот подход:
XDocument doc1 = XDocument.Load(@"C:UserstestuserDesktopTestWebsiteTestData.xml", LoadOptions.None);
Комментарии:
1. я думал, что это был тот случай, когда Энди еще немного погуглил:( — какой лучший способ загрузить в файл XML, Энди, ты знаешь?
2. Вы также можете передать путь непосредственно для загрузки
3. @KOL — Я бы действительно предложил использовать XDocument сейчас, поскольку это действительно предпочтительный метод работы с XML в .NET сейчас, а также дает вам доступ к множеству преимуществ Linq.
4. @ThomasLevesque — абсолютно верно, я исправил ответ.
5. @AndyRose — Спасибо — какова директива using для этого? Система. Xml не находит его для меня?