XmlProcessingInstruction.cs 1.5 KB

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