XmlText.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. //
  2. // System.Xml.XmlText
  3. //
  4. // Author:
  5. // Jason Diamond <[email protected]>
  6. //
  7. // (C) 2002 Jason Diamond http://injektilo.org/
  8. //
  9. using System;
  10. using System.Xml.XPath;
  11. namespace System.Xml
  12. {
  13. public class XmlText : XmlCharacterData
  14. {
  15. #region Constructor
  16. protected internal XmlText (string strData, XmlDocument doc) : base(strData, doc)
  17. {
  18. }
  19. #endregion
  20. #region Properties
  21. public override string LocalName
  22. {
  23. get { return "#text"; }
  24. }
  25. public override string Name {
  26. get { return "#text"; }
  27. }
  28. public override XmlNodeType NodeType {
  29. get { return XmlNodeType.Text; }
  30. }
  31. internal override XPathNodeType XPathNodeType {
  32. get {
  33. return XPathNodeType.Text;
  34. }
  35. }
  36. public override string Value {
  37. get { return Data; }
  38. set { Data = value; }
  39. }
  40. #endregion
  41. #region Methods
  42. public override XmlNode CloneNode (bool deep)
  43. {
  44. XmlText newText = OwnerDocument.CreateTextNode(Data);
  45. if (IsReadOnly)
  46. newText.SetReadOnly ();
  47. return newText;
  48. }
  49. public virtual XmlText SplitText (int offset)
  50. {
  51. XmlText next = OwnerDocument.CreateTextNode (this.Data.Substring (offset));
  52. DeleteData (offset, Data.Length - offset);
  53. this.ParentNode.InsertAfter (next, this);
  54. return next;
  55. }
  56. public override void WriteContentTo (XmlWriter w) {}
  57. public override void WriteTo (XmlWriter w)
  58. {
  59. w.WriteString (Data);
  60. }
  61. #endregion
  62. }
  63. }