Saxon .Net从流中读取xml

时间:2014-01-22 12:14:14

标签: vb.net xml-parsing saxon

所有示例都显示了如何从本地文件中读取xml。但是如何从URL或流中读取xml并进一步处理?

示例:http://www.oreillynet.com/xml/blog/2006/03/hello_saxon_on_net_an_aspnet_i.html

提前致谢

2 个答案:

答案 0 :(得分:1)

在Sourceforge和www.saxonica.com上提供的saxon-resources下载中查找XsltExamples.cs。第一个例子似乎就是你所要求的。

public static void ExampleSimple1(String sourceUri, String xsltUri) {

        // Create a Processor instance.
        Processor processor = new Processor();

        // Load the source document
        XdmNode input = processor.NewDocumentBuilder().Build(new Uri(sourceUri));

        // Create a transformer for the stylesheet.
        XsltTransformer transformer = processor.NewXsltCompiler().Compile(new Uri(xsltUri)).Load();

        // Set the root node of the source document to be the initial context node
        transformer.InitialContextNode = input;

        // Create a serializer
        Serializer serializer = new Serializer();
        serializer.SetOutputWriter(Console.Out);

        // Transform the source XML to System.out.
        transformer.Run(serializer);
    }

答案 1 :(得分:0)

您是否正在使用XmlDocument对象来读取XML?如果是这样,您将需要XMLDocument.Load()方法,该方法可以将文件路径或URL,TextReader或Stream作为输入。

同样,XDocument.Load()(msdn.microsoft.com/en-us/library/system.xml.linq.xdocument.load(v=vs.110).aspx)也有类似的重载集。< / p>