XmlCharacterData.cs 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. //
  2. // System.Xml.XmlCharacterData.cs
  3. //
  4. // Author:
  5. // Jason Diamond <[email protected]>
  6. //
  7. // (C) 2002 Jason Diamond http://injektilo.org/
  8. //
  9. using System;
  10. namespace System.Xml
  11. {
  12. public abstract class XmlCharacterData : XmlLinkedNode
  13. {
  14. private string data;
  15. #region Constructor
  16. protected internal XmlCharacterData (string data, XmlDocument doc)
  17. : base (doc)
  18. {
  19. if (data == null)
  20. data = String.Empty;
  21. this.data = data;
  22. }
  23. #endregion
  24. #region Properties
  25. public virtual string Data {
  26. get { return data; }
  27. set { data = value; }
  28. }
  29. public override string InnerText {
  30. get { return data; }
  31. set { data = value; }
  32. }
  33. public virtual int Length {
  34. get { return data != null ? data.Length : 0; }
  35. }
  36. public override string Value {
  37. get { return data; }
  38. set {
  39. if (IsReadOnly)
  40. throw new ArgumentException ("Node is read-only.");
  41. data = value;
  42. }
  43. }
  44. #endregion
  45. #region Methods
  46. [MonoTODO]
  47. public virtual void AppendData (string strData)
  48. {
  49. throw new NotImplementedException ();
  50. }
  51. [MonoTODO]
  52. public virtual void DeleteData (int offset, int count)
  53. {
  54. throw new NotImplementedException ();
  55. }
  56. [MonoTODO]
  57. public virtual void InsertData (int offset, string strData)
  58. {
  59. throw new NotImplementedException ();
  60. }
  61. [MonoTODO]
  62. public virtual void ReplaceData (int offset, int count, string strData)
  63. {
  64. throw new NotImplementedException();
  65. }
  66. public virtual string Substring (int offset, int count)
  67. {
  68. return data.Substring (offset, count);
  69. }
  70. #endregion
  71. }
  72. }