1 using System;
2
3 int main()
4 {
5 System.Lex.FileMap fileMap;
6 auto parseResult = System.Xml.ParseXmlDocument("test.xml", fileMap);
7 if (parseResult.Error())
8 {
9 Console.Error() << parseResult.GetErrorMessage() << endl();
10 return 1;
11 }
12 System.Xml.Document* doc = parseResult.Value().Get();
13 Result<UniquePtr<System.XPath.NodeSet>> evaluateResult = System.XPath.EvaluateToNodeSet("/test/alpha[@a=\"1\"]/beta/gamma/text()", doc);
14 if (evaluateResult.Error())
15 {
16 Console.Error() << evaluateResult.GetErrorMessage() << endl();
17 return 1;
18 }
19 System.XPath.NodeSet* nodeSet = evaluateResult.Value().Get();
20 System.Xml.Element* element = nodeSet->ToXmlElement();
21 System.Xml.Document resultDoc;
22 resultDoc.AppendChild(element);
23 System.Text.CodeFormatter formatter(Console.Out());
24 auto writeResult = resultDoc.Write(formatter);
25 if (writeResult.Error())
26 {
27 Console.Error() << writeResult.GetErrorMessage() << endl();
28 return 1;
29 }
30 return 0;
31 }