XmlProcessingInstruction.cs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. //
  2. // System.Xml.XmlProcessingInstruction
  3. //
  4. // Author:
  5. // Kral Ferch <[email protected]>
  6. //
  7. // (C) 2002 Kral Ferch
  8. //
  9. using System;
  10. using System.Xml.XPath;
  11. namespace System.Xml
  12. {
  13. public class XmlProcessingInstruction : XmlLinkedNode
  14. {
  15. string target;
  16. string data;
  17. #region Constructors
  18. protected internal XmlProcessingInstruction (string target, string data, XmlDocument doc) : base(doc)
  19. {
  20. XmlConvert.VerifyName (target);
  21. if (data == null)
  22. data = String.Empty;
  23. this.target = target;
  24. this.data = data;
  25. }
  26. #endregion
  27. #region Properties
  28. public string Data
  29. {
  30. get { return data; }
  31. set { data = value; }
  32. }
  33. public override string InnerText
  34. {
  35. get { return Data; }
  36. set { data = value; }
  37. }
  38. public override string LocalName
  39. {
  40. get { return target; }
  41. }
  42. public override string Name
  43. {
  44. get { return target; }
  45. }
  46. public override XmlNodeType NodeType
  47. {
  48. get { return XmlNodeType.ProcessingInstruction; }
  49. }
  50. internal override XPathNodeType XPathNodeType {
  51. get {
  52. return XPathNodeType.ProcessingInstruction;
  53. }
  54. }
  55. public string Target
  56. {
  57. get { return target; }
  58. }
  59. public override string Value
  60. {
  61. get { return data; }
  62. set {
  63. if (this.IsReadOnly)
  64. throw new ArgumentException ("This node is read-only.");
  65. else
  66. data = value;
  67. }
  68. }
  69. #endregion
  70. #region Methods
  71. public override XmlNode CloneNode (bool deep)
  72. {
  73. XmlNode n = new XmlProcessingInstruction (target, data, OwnerDocument);
  74. if (IsReadOnly)
  75. n.SetReadOnly ();
  76. return n;
  77. }
  78. public override void WriteContentTo (XmlWriter w) { }
  79. public override void WriteTo (XmlWriter w)
  80. {
  81. w.WriteProcessingInstruction (target, data);
  82. }
  83. #endregion
  84. }
  85. }