you what ways two remarks into generate example cref compile comentarios are and c# xml

c# - remarks - what are two ways you can compile xml tags and documentation into an xml file



Cadena XML a documento XML (4)

Dependiendo del tipo de documento que desee, puede utilizar XmlDocument.LoadXml o XDocument.Load .

Tengo un documento XML completo en una cadena que necesito convertir a un documento XML y analizar etiquetas en el documento


Este ejemplo de código está tomado de csharp-examples.net , escrito por Jan Slama :

Para encontrar nodos en un archivo XML puede usar expresiones XPath. El método XmlNode.SelectNodes devuelve una lista de nodos seleccionados por la cadena XPath. El método XmlNode.SelectSingleNode encuentra el primer nodo que coincide con la cadena XPath.

XML:

<Names> <Name> <FirstName>John</FirstName> <LastName>Smith</LastName> </Name> <Name> <FirstName>James</FirstName> <LastName>White</LastName> </Name> </Names>

CÓDIGO:

XmlDocument xml = new XmlDocument(); xml.LoadXml(myXmlString); // suppose that myXmlString contains "<Names>...</Names>" XmlNodeList xnList = xml.SelectNodes("/Names/Name"); foreach (XmlNode xn in xnList) { string firstName = xn["FirstName"].InnerText; string lastName = xn["LastName"].InnerText; Console.WriteLine("Name: {0} {1}", firstName, lastName); }


Prueba esto:

var myXmlDocument = new XmlDocument(); myXmlDocument.Load(theString);


Usando Linq para xml

Agregar una referencia a System.Xml.Linq

y use

XDocument.Parse(string xmlString)

Edición: Sample continuación, datos xml (TestConfig.xml) ..

<?xml version="1.0"?> <Tests> <Test TestId="0001" TestType="CMD"> <Name>Convert number to string</Name> <CommandLine>Examp1.EXE</CommandLine> <Input>1</Input> <Output>One</Output> </Test> <Test TestId="0002" TestType="CMD"> <Name>Find succeeding characters</Name> <CommandLine>Examp2.EXE</CommandLine> <Input>abc</Input> <Output>def</Output> </Test> <Test TestId="0003" TestType="GUI"> <Name>Convert multiple numbers to strings</Name> <CommandLine>Examp2.EXE /Verbose</CommandLine> <Input>123</Input> <Output>One Two Three</Output> </Test> <Test TestId="0004" TestType="GUI"> <Name>Find correlated key</Name> <CommandLine>Examp3.EXE</CommandLine> <Input>a1</Input> <Output>b1</Output> </Test> <Test TestId="0005" TestType="GUI"> <Name>Count characters</Name> <CommandLine>FinalExamp.EXE</CommandLine> <Input>This is a test</Input> <Output>14</Output> </Test> <Test TestId="0006" TestType="GUI"> <Name>Another Test</Name> <CommandLine>Examp2.EXE</CommandLine> <Input>Test Input</Input> <Output>10</Output> </Test> </Tests>

Uso de C # ...

XElement root = XElement.Load("TestConfig.xml"); IEnumerable<XElement> tests = from el in root.Elements("Test") where (string)el.Element("CommandLine") == "Examp2.EXE" select el; foreach (XElement el in tests) Console.WriteLine((string)el.Attribute("TestId"));

Este código produce la siguiente salida: 0002 0006