В общем проблема такая: есть xml, получаемый с сервака, нужно в нем переименовать некоторые атрибуты (чтобы стали без префиксов). Юзаю проcто цикл foreach, но так он во внутрь не заходит, он только проверяет некоторый <tag1>...</tag1>, а то что внутри еще миллион тагов ему пофиг. Как сделать, чтобы было не пофиг?) вот мой код:
| Код | XmlDocument xdoc = new XmlDocument(); xdoc.LoadXml(xmlresp); string namespase = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"; foreach (XmlElement xel in xdoc.DocumentElement.ChildNodes[1]) { if (xel.NodeType != XmlNodeType.Element) continue; if (xel.HasAttribute("about", namespase)) { string id = xel.GetAttribute("about", namespase); xel.RemoveAttribute("about", namespase); XmlAttribute new_attr = xdoc.CreateAttribute("id"); xel.Attributes.Append(new_attr); xel.SetAttribute("id", id); } }
|
и пример прилетающего xml:
| Код | <?xml version='1.0' encoding='utf-8'?> <dataresponse rdf:dummy="" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <request> <param name="c">GetItem</param> <param name="id">mag_090911114613_1003</param> </request> <data> <person rdf:about="mag_090911114613_1003"> <name xml:lang="ru">Марчук Александр Гурьевич</name> <reflected inverse-resource="mag_090911114613_1004"> <reflection rdf:about="mag_090911114613_1004"> <in-doc rdf:resource="source_test_cassettepds08b2333cbda02eeb36fabb3cf3bd2cc4"> <photo-doc rdf:about="source_test_cassettepds08b2333cbda02eeb36fabb3cf3bd2cc4"> <name xml:lang="ru">source_test_cassette 0001 0003</name> <published>iiss://[email protected]/0001/0001/0003</published> <comment xml:lang="ru">F:\archive\IIS-history-archive\mixture\CC280.jpg</comment> </photo-doc> </in-doc> </reflection> </reflected> <reflected inverse-resource="mag_090911114613_1014"> <reflection rdf:about="mag_090911114613_1014"> <in-doc rdf:resource="source_test_cassettepdsd27d173a8f095177540e53ce8faf33bd"> <photo-doc rdf:about="source_test_cassettepdsd27d173a8f095177540e53ce8faf33bd"> <name xml:lang="ru">source_test_cassette 0001 0010</name> <published>iiss://[email protected]/0001/0001/0010</published> <comment xml:lang="ru">F:\archive\IIS-history-archive\mixture\gp_tn_dscn3064.jpg</comment> </photo-doc> </in-doc> </reflection> </reflected> </person> </data> </dataresponse>
|
|