npoi

Форк
0
/
GraphicalObject.cs 
135 строк · 3.9 Кб
1

2
using System;
3
using System.Xml.Serialization;
4
using System.Collections.Generic;
5
using System.Xml;
6
using System.IO;
7
using NPOI.OpenXml4Net.Util;
8

9
namespace NPOI.OpenXmlFormats.Dml
10
{
11
    [Serializable]
12
    
13
    [System.ComponentModel.DesignerCategory("code")]
14
    [XmlType(Namespace = "http://schemas.openxmlformats.org/drawingml/2006/main")]
15
    [XmlRoot(Namespace = "http://schemas.openxmlformats.org/drawingml/2006/main", IsNullable = true)]
16
    public class CT_GraphicalObjectData
17
    {
18
        public static CT_GraphicalObjectData Parse(XmlNode node, XmlNamespaceManager namespaceManager)
19
        {
20
            if (node == null)
21
                return null;
22
            CT_GraphicalObjectData ctObj = new CT_GraphicalObjectData();
23
            ctObj.uri = XmlHelper.ReadString(node.Attributes["uri"]);
24
            ctObj.Any = new List<string>();
25
            foreach (XmlNode childNode in node.ChildNodes)
26
            {
27
                ctObj.Any.Add(childNode.OuterXml);
28
            }
29
            return ctObj;
30
        }
31

32

33

34
        internal void Write(StreamWriter sw, string nodeName)
35
        {
36
            sw.Write(string.Format("<a:{0}", nodeName));
37
            XmlHelper.WriteAttribute(sw, "uri", this.uri);
38
            sw.Write(">");
39
            foreach (string x in this.Any)
40
            {
41
                sw.Write(x);
42
            }
43
            sw.Write(string.Format("</a:{0}>", nodeName));
44
        }
45

46
        private List<string> anyField = new List<string>();
47

48
        private string uriField;
49

50
        public void AddChartElement(string el)
51
        {
52
            anyField.Add(el);
53
        }
54
        public void AddPicElement(string el)
55
        {
56
            anyField.Add(el);
57
        }
58
        //[XmlAnyElement()]
59
        [XmlIgnore]
60
        public List<string> Any
61
        {
62
            get
63
            {
64
                return this.anyField;
65
            }
66
            set
67
            {
68
                this.anyField = value;
69
            }
70
        }
71

72
        [XmlAttribute(DataType = "token")]
73
        public string uri
74
        {
75
            get
76
            {
77
                return this.uriField;
78
            }
79
            set
80
            {
81
                this.uriField = value;
82
            }
83
        }
84
    }
85

86

87
    [Serializable]
88
    
89
    [System.ComponentModel.DesignerCategory("code")]
90
    [XmlType(Namespace = "http://schemas.openxmlformats.org/drawingml/2006/main")]
91
    [XmlRoot(Namespace = "http://schemas.openxmlformats.org/drawingml/2006/main", IsNullable = true)]
92
    public class CT_GraphicalObject
93
    {
94
        public CT_GraphicalObjectData AddNewGraphicData()
95
        {
96
            this.graphicDataField = new CT_GraphicalObjectData();
97
            return this.graphicDataField;
98
        }
99
        private CT_GraphicalObjectData graphicDataField;
100
        public static CT_GraphicalObject Parse(XmlNode node, XmlNamespaceManager namespaceManager)
101
        {
102
            if (node == null)
103
                return null;
104
            CT_GraphicalObject ctObj = new CT_GraphicalObject();
105
            foreach (XmlNode childNode in node.ChildNodes)
106
            {
107
                if (childNode.LocalName == "graphicData")
108
                    ctObj.graphicData = CT_GraphicalObjectData.Parse(childNode, namespaceManager);
109
            }
110
            return ctObj;
111
        }
112

113

114

115
        internal void Write(StreamWriter sw, string nodeName)
116
        {
117
            sw.Write(string.Format("<a:{0} xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\">", nodeName));
118
            if (this.graphicData != null)
119
                this.graphicData.Write(sw, "graphicData");
120
            sw.Write(string.Format("</a:{0}>", nodeName));
121
        }
122

123
        [XmlElement(Order = 0)]
124
        public CT_GraphicalObjectData graphicData
125
        {
126
            get
127
            {
128
                return this.graphicDataField;
129
            }
130
            set
131
            {
132
                this.graphicDataField = value;
133
            }
134
        }
135
    }
136
}
137

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.