xpath와 namespace

Hey all,

Simple question, I just want to select the text from the <Template> tag. Here's what I have, but the Xpath doesn't match anything.
[code]
public static void TestXPath()
{
    string xmlText = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>";
    xmlText += "<Properties xmlns=\"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties\" xmlns:vt=\"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes\">";
    xmlText += "<Template>Normal</Template>  <TotalTime>1</TotalTime>  <Pages>1</Pages>  <Words>6</Words>";
    xmlText += "</Properties>";

    XmlDocument xmlDoc = new XmlDocument();
    xmlDoc.Load(new System.IO.StringReader(xmlText));

    foreach (XmlNode node in xmlDoc.SelectNodes("//Template"))
    {
        Console.WriteLine("{0}: {1}", node.Name, node.InnerText);
    }
}[/code]

You need to use an XmlNamespaceManager because the
Template element is in a namespace:
[code]
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(new System.IO.StringReader(xmlText));
XmlNamespaceManager manager = new XmlNamespaceManager(xmlDoc.NameTable);
manager.AddNamespace("ns",
    "http://schemas.openxmlformats.org/officeDocument/2006/extended-properties");

foreach (XmlNode node in xmlDoc.SelectNodes("//ns:Template", manager))
{
    Console.WriteLine("{0}: {1}", node.Name, node.InnerText);
}[/code]

Posted by solarview

2010/03/02 13:09 2010/03/02 13:09
,
Response
No Trackback , No Comment
RSS :
http://www.solarview.net/rss/response/285

Trackback URL : http://www.solarview.net/trackback/285

« Previous : 1 : ... 62 : 63 : 64 : 65 : 66 : 67 : 68 : 69 : 70 : ... 297 : Next »