public string serialize(XPathNodeIterator arg, XPathNodeIterator parameters) { // fn:serialize($arg as item()*, $params as element(output:serialization-parameters)?) as xs:string var itemFactory = new SystemItemFactory(); XPathSerializationOptions options = null; if (parameters != null && parameters.Count == 1) { options = new XPathSerializationOptions(); ((IXmlSerializable)options).ReadXml(parameters.Cast <XPathNavigator>().First().ReadSubtree()); } using (var writer = new StringWriter()) { IEnumerable <XPathItem> items = arg.Cast <XPathItem>(); if (options == null) { itemFactory.Serialize(items, writer); } else { itemFactory.Serialize(items, writer, options); } return(writer.ToString()); } }
static object parse_xml_impl(object arg, bool fragment) { string str = ExtensionObjectConvert.ToString(arg); if (str == null) { return(ExtensionObjectConvert.EmptyIterator); } var parseOptions = new XmlParsingOptions { ConformanceLevel = (fragment) ? ConformanceLevel.Fragment : ConformanceLevel.Document }; var itemFactory = new SystemItemFactory(); using (var reader = new StringReader(str)) { return(ExtensionObjectConvert.ToInput(itemFactory.CreateNodeReadOnly(reader, parseOptions))); } }
static object parse_xml_impl(object arg, bool fragment) { string str = ExtensionObjectConvert.ToString(arg); if (str == null) { return ExtensionObjectConvert.EmptyIterator; } var parseOptions = new XmlParsingOptions { ConformanceLevel = (fragment) ? ConformanceLevel.Fragment : ConformanceLevel.Document }; var itemFactory = new SystemItemFactory(); using (var reader = new StringReader(str)) { return ExtensionObjectConvert.ToInput(itemFactory.CreateNodeReadOnly(reader, parseOptions)); } }
public string serialize(XPathNodeIterator arg, XPathNodeIterator parameters) { // fn:serialize($arg as item()*, $params as element(output:serialization-parameters)?) as xs:string var itemFactory = new SystemItemFactory(); XPathSerializationOptions options = null; if (parameters != null && parameters.Count == 1) { options = new XPathSerializationOptions(); ((IXmlSerializable)options).ReadXml(parameters.Cast<XPathNavigator>().First().ReadSubtree()); } using (var writer = new StringWriter()) { IEnumerable<XPathItem> items = arg.Cast<XPathItem>(); if (options == null) { itemFactory.Serialize(items, writer); } else { itemFactory.Serialize(items, writer, options); } return writer.ToString(); } }