linq to xml вставка узла в xml с неймспейсами
#39500088
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
Ссылка на профиль пользователя:
|
|
|
Здравствуйте!
Пытаюсь вставить новый узел в созданный xml (с неймспейсами). Возникает ошибка, думаю что не находит узел rev:MessageData. Что делаю не так? Спасибо заранее!
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50.
//нэймспейсы
public readonly XNamespace SE = "http://schemas.xmlsoap.org/soap/envelope/";
public readonly XNamespace wsu = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
public readonly XNamespace rev = "http://smev.gosuslugi.ru/rev120315";
String action = "import"
doc =
new XElement(SE + "Envelope"
, new XAttribute(XNamespace.Xmlns + "SE", "http://schemas.xmlsoap.org/soap/envelope/")
, new XAttribute(XNamespace.Xmlns + "wsu", "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd")
, new XAttribute(XNamespace.Xmlns + "rev", "http://smev.gosuslugi.ru/rev120315")
, new XElement(SE + "Body", new XAttribute(wsu + "Id", "body")
, new XElement(rev + action, new XElement(rev + "Message"
, new XElement(rev+"Sender"
, new XElement(rev+"Code", "???mnem_point???")
, new XElement(rev+"Name", "ГИС клиент")
)
, new XElement(rev+"Recipient"
, new XElement(rev+"Code", "MNSV10001")
, new XElement(rev+"Name", "Минкомсвязь РФ")
)
, new XElement(rev + "ServiceName", "MNSV10KOSVED")
, new XElement(rev + "TypeCode", "GFNC")
, new XElement(rev + "Status", status)
, new XElement(rev + "Date", DateTime.UtcNow)
, new XElement(rev + "ExchangeType", "2")
)
, new XElement(rev + "MessageData"
)
)
)
);
//пытаюсь вставить новый узел (нужно именно так, потому что это один из вариантов switch, все не стал описывать)
//здесь ошибка "Object reference not set to an instancef an object"
try
{
doc.Element(rev + "MessageData").Add(new XElement(action
, new XElement(rev + "payment-organization-guid", "???gis???")
)
);
}
catch (Exception e)
{
MessageBox.Show(e.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
|
|