Я пытаюсь прочитать XML-файл с XML-файлом. В моем WPF решения, это выглядело так:Чтение XML-файла с помощью XmlReader (PortableClassLibrary)
public XmlDocument XmlDoc;
XmlReaderSettings settings;
XElement Catalogue;
public void LoadXML(string XML_File)
{
XmlReader reader = XmlReader.Create(XML_File, settings);
XmlDoc.Load(reader);
Catalogue = XElement.Load(new XmlNodeReader(XmlDoc));
}
Поскольку я использую портативные библиотеки классов (Silverlight, WP8, .NET 4.5, Windows 8), нет XMLDocument
и нет XmlNodeReader
. Я пытался это сделать, как это сейчас:
public void LoadXML(string XML_File)
{
XmlReader reader = XmlReader.Create();
XDocument XmlDocx = XDocument.Load(reader);
Catalogue = XElement.Load(reader);
}
, но я не знаю, как я могу поместить строку XML_File
(которая содержит, например, «users.xml») в читателя. XmlReader.Create() требуется как параметр StreamReader или Textreader, и когда я объявляю новый StreamReader, StreamReader нужен как параметр Stream ...? Так что да, я сделал это как то
public void LoadXML(string XML_File)
{
//How to put the XML_File in the Stream?
//I could say Stream sra = Stream.Null; - but I still need to put the XML_File string somehow into the reader
Stream s = new Stream();
StreamReader sr = new StreamReader(s);
XmlReader reader = XmlReader.Create(sr);
XDocument XmlDocx = XDocument.Load(reader);
Questions = XElement.Load(reader);
}
Как я могу поставить XML_File («users.xml») в считывающее устройство, так что я могу загрузить читателя с моим XmlDoc
?
Портативная библиотека классов не предоставляет унифицированный файловый ввод-вывод, поэтому вы не сможете получить доступ к своему XML-файлу с помощью этого подхода. Взгляните на [PCLStorage] (https://pclstorage.codeplex.com/) для мобильного подхода ввода-вывода. –