Я использую C # (.NET 2.0) - фактически пытаюсь заставить его работать на Mac OS X с использованием MONO (я не думаю, что MONO - это проблема)
Учитывая следующий фрагмент XML, который имеетбыл получен как XmlNode из большего XmlDocument:
<subcategoryCode xmlns="uuid:7E1158D2-DA42-4048-8513-66B4D48FA992">N100</subcategoryCode>
<subcategoryName xmlns="uuid:7E1158D2-DA42-4048-8513-66B4D48FA992">DJ Headphones</subcategoryName>
<products xlink:href="tcm:5-33975" xlink:title="TESTONE Composition" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="uuid:7E1158D2-DA42-4048-8513-66B4D48FA992" />
<products xlink:href="tcm:5-54295" xlink:title="HPX2000 Composition" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="uuid:7E1158D2-DA42-4048-8513-66B4D48FA992" />
<products xlink:href="tcm:5-54296" xlink:title="HPX4000 Composition" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="uuid:7E1158D2-DA42-4048-8513-66B4D48FA992" />
Я пытаюсь получить имя подкатегории, используя SelectSingleNode, но я просто не могу.Это мой код:
XmlNamespaceManager nsm = new XmlNamespaceManager(doc.NameTable);
nsm.AddNamespace(String.Empty, "uuid:7E1158D2-DA42-4048-8513-66B4D48FA992");
XmlNodeList subcatList = doc.GetElementsByTagName("subcategories");
foreach (XmlNode subcat in subcatList) {
html += "<div id=\"";
html += subcat.SelectSingleNode("subcategoryName", nsm).InnerText; // <-- HERE IS MY PROBLEM!!!
html += "\" class=\"product_thumbs_holder\" style=\"display: block; \">";
html += "</div>";
html += "<div style=\"clear:both\"></div>";
}
Я полагаю, что проблема, вероятно, связана с тем, как я обращаюсь с пространством имен, но я застрял в этом в течение нескольких часов.Я безуспешно перепробовал кучу подобных объявлений AddNamespace.
Кто-нибудь из них был бы достаточно любезен, если бы указывал, где проблема?