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 }