i'm working on a windows application that will edit and create xml files from
another application. the original file is 83k, the one created by my vb.net
program is 153k but all i add is a new xmlelement when i use the other
program and add a xmlelement is only increased the file to 85k. how come my
application increased 70k in size and also added the <?xml version="1.0"?>
when i didn't tell it to.
how do i duplicated a xml file and only add the xml element that i want to
insert. where did the extra 70k come from.
thanks
here is my code:
Dim newEvtEnrollElem As XmlElement = Nothing
Dim str1, str2 As String
str1 = strPath.Substring(0, strPath.LastIndexOf("."))
str2 = str1.ToString.Remove(0, 42)
newEvtEnrollElem =
CType(xDoc.SelectSingleNode("AutomationControl/EventEnrollments"), XmlElement)
str1 = strPath.Substring(0, strPath.LastIndexOf("."))
str2 = str1.ToString.Remove(0, 42)
If newEvtEnrollElem IsNot Nothing Then
Dim EvtEnrollElem As XmlElement =
xDoc.CreateElement("EventEnrollment")
Dim EvtEnrollAttr As XmlAttribute =
xDoc.CreateAttribute("InstanceNumber")
EvtEnrollAttr.Value = "3744"
EvtEnrollElem.Attributes.Append(EvtEnrollAttr)
EvtEnrollElem.InnerXml =
"<BackwardReferences/><EventEnrollmentProperties><EnabledReference/><EventParameters><SetpointReference/></EventParameters><EventSources/></EventEnrollmentProperties><GeneralProperties><Desc ription/></GeneralProperties>"
Dim EvtEnrollProp_AckRequiredAttrNode As XmlAttribute =
xDoc.CreateAttribute("AckRequired")
EvtEnrollProp_AckRequiredAttrNode.Value = "0"
Dim EvtEnrollProp_EvtEnabledAttrNode As XmlAttribute =
xDoc.CreateAttribute("EventEnable")
EvtEnrollProp_EvtEnabledAttrNode.Value = "0"
Dim EvtEnrollProp_EvtTypeAttrNode As XmlAttribute =
xDoc.CreateAttribute("EventType")
EvtEnrollProp_EvtTypeAttrNode.Value = "0"
Dim EvtEnrollProp_NotifyClassAttrNode As XmlAttribute =
xDoc.CreateAttribute("NotifyClass")
EvtEnrollProp_NotifyClassAttrNode.Value = "0"
Dim EvtEnrollProp_NotifyTypeAttrNode As XmlAttribute =
xDoc.CreateAttribute("NotifyType")
EvtEnrollProp_NotifyTypeAttrNode.Value = "0"
Dim EvtEnrollProp_PresentValueAttrNode As XmlAttribute =
xDoc.CreateAttribute("PresentValue")
EvtEnrollProp_PresentValueAttrNode.Value = "0"
Dim EvtEnrollProp_ToFaultTextAttrNode As XmlAttribute =
xDoc.CreateAttribute("ToFaultText")
EvtEnrollProp_ToFaultTextAttrNode.Value = ""
Dim EvtEnrollProp_ToNormalTextAttrNode As XmlAttribute =
xDoc.CreateAttribute("ToNormalText")
EvtEnrollProp_ToNormalTextAttrNode.Value = ""
Dim EvtEnrollProp_ToOffNormalTextAttrNode As XmlAttribute =
xDoc.CreateAttribute("ToOffNormalText")
EvtEnrollProp_ToOffNormalTextAttrNode.Value = ""
EvtEnrollElem.Item("EventEnrollmentProperties").Se tAttributeNode(EvtEnrollProp_AckRequiredAttrNode)
EvtEnrollElem.Item("EventEnrollmentProperties").Se tAttributeNode(EvtEnrollProp_EvtEnabledAttrNode)
EvtEnrollElem.Item("EventEnrollmentProperties").Se tAttributeNode(EvtEnrollProp_EvtTypeAttrNode)
EvtEnrollElem.Item("EventEnrollmentProperties").Se tAttributeNode(EvtEnrollProp_NotifyClassAttrNode)
EvtEnrollElem.Item("EventEnrollmentProperties").Se tAttributeNode(EvtEnrollProp_NotifyTypeAttrNode)
EvtEnrollElem.Item("EventEnrollmentProperties").Se tAttributeNode(EvtEnrollProp_PresentValueAttrNode)
EvtEnrollElem.Item("EventEnrollmentProperties").Se tAttributeNode(EvtEnrollProp_ToFaultTextAttrNode)
EvtEnrollElem.Item("EventEnrollmentProperties").Se tAttributeNode(EvtEnrollProp_ToNormalTextAttrNode)
EvtEnrollElem.Item("EventEnrollmentProperties").Se tAttributeNode(EvtEnrollProp_ToOffNormalTextAttrNo de)
Dim EnRef_ObjKeyAttrNode As XmlAttribute =
xDoc.CreateAttribute("ObjectKey")
EnRef_ObjKeyAttrNode.Value = ""
Dim EnRef_PropName As XmlAttribute =
xDoc.CreateAttribute("PropertyName")
EnRef_PropName.Value = ""
EvtEnrollElem.Item("EventEnrollmentProperties").It em("EnabledReference").SetAttributeNode(EnRef_ObjK eyAttrNode)
EvtEnrollElem.Item("EventEnrollmentProperties").It em("EnabledReference").SetAttributeNode(EnRef_Prop Name)
Dim EvtPara_BitMaskAttrNode As XmlAttribute =
xDoc.CreateAttribute("BitMask")
EvtPara_BitMaskAttrNode.Value = "0"
Dim EvtPara_DeadbandAttrNode As XmlAttribute =
xDoc.CreateAttribute("Deadband")
EvtPara_DeadbandAttrNode.Value = ""
Dim EvtPara_HighDiffLimitAttrNode As XmlAttribute =
xDoc.CreateAttribute("HighDiffLimit")
EvtPara_HighDiffLimitAttrNode.Value = ""
Dim EvtPara_HighLimitAttrNode As XmlAttribute =
xDoc.CreateAttribute("HighLimit")
EvtPara_HighLimitAttrNode.Value = ""
Dim EvtPara_ListOfBitStringValuesAttrNode As XmlAttribute =
xDoc.CreateAttribute("ListOfBitStringValues")
EvtPara_ListOfBitStringValuesAttrNode.Value = ""
Dim EvtPara_ListOfValuesAttrNode As XmlAttribute =
xDoc.CreateAttribute("ListOfValues")
EvtPara_ListOfValuesAttrNode.Value = ""
Dim EvtPara_LowDiffLimitAttrNode As XmlAttribute =
xDoc.CreateAttribute("LowDiffLimit")
EvtPara_LowDiffLimitAttrNode.Value = ""
Dim EvtPara_LowLimitAttrNode As XmlAttribute =
xDoc.CreateAttribute("LowLimit")
EvtPara_LowLimitAttrNode.Value = ""
Dim EvtPara_RefPropIncrAttrNode As XmlAttribute =
xDoc.CreateAttribute("ReferencedPropertyIncrement" )
EvtPara_RefPropIncrAttrNode.Value = "1"
Dim EvtPara_TimeDelayAttrNode As XmlAttribute =
xDoc.CreateAttribute("TimeDelay")
EvtPara_TimeDelayAttrNode.Value = "60"
Dim EvtPara_TimeIntervalAttrNode As XmlAttribute =
xDoc.CreateAttribute("TimeInterval")
EvtPara_TimeIntervalAttrNode.Value = "1"
EvtEnrollElem.Item("EventEnrollmentProperties").It em("EventParameters").SetAttributeNode(EvtPara_Bit MaskAttrNode)
EvtEnrollElem.Item("EventEnrollmentProperties").It em("EventParameters").SetAttributeNode(EvtPara_Dea dbandAttrNode)
EvtEnrollElem.Item("EventEnrollmentProperties").It em("EventParameters").SetAttributeNode(EvtPara_Hig hDiffLimitAttrNode)
EvtEnrollElem.Item("EventEnrollmentProperties").It em("EventParameters").SetAttributeNode(EvtPara_Hig hLimitAttrNode)
EvtEnrollElem.Item("EventEnrollmentProperties").It em("EventParameters").SetAttributeNode(EvtPara_Lis tOfBitStringValuesAttrNode)
EvtEnrollElem.Item("EventEnrollmentProperties").It em("EventParameters").SetAttributeNode(EvtPara_Lis tOfValuesAttrNode)
EvtEnrollElem.Item("EventEnrollmentProperties").It em("EventParameters").SetAttributeNode(EvtPara_Low DiffLimitAttrNode)
EvtEnrollElem.Item("EventEnrollmentProperties").It em("EventParameters").SetAttributeNode(EvtPara_Low LimitAttrNode)
EvtEnrollElem.Item("EventEnrollmentProperties").It em("EventParameters").SetAttributeNode(EvtPara_Ref PropIncrAttrNode)
EvtEnrollElem.Item("EventEnrollmentProperties").It em("EventParameters").SetAttributeNode(EvtPara_Tim eDelayAttrNode)
EvtEnrollElem.Item("EventEnrollmentProperties").It em("EventParameters").SetAttributeNode(EvtPara_Tim eIntervalAttrNode)
Dim SetPointRef_ObjKeyAttrNode As XmlAttribute =
xDoc.CreateAttribute("ObjectKey")
SetPointRef_ObjKeyAttrNode.Value = ""
Dim SetPointRef_PropNameAttrNode As XmlAttribute =
xDoc.CreateAttribute("PropertyName")
SetPointRef_PropNameAttrNode.Value = ""
EvtEnrollElem.Item("EventEnrollmentProperties").It em("EventParameters").Item("SetpointReference").Se tAttributeNode(SetPointRef_ObjKeyAttrNode)
EvtEnrollElem.Item("EventEnrollmentProperties").It em("EventParameters").Item("SetpointReference").Se tAttributeNode(SetPointRef_PropNameAttrNode)
Dim GP_AttrNode As XmlAttribute = xDoc.CreateAttribute("Attr")
GP_AttrNode.Value = "0"
Dim GP_InstNumAttrNode As XmlAttribute =
xDoc.CreateAttribute("InstanceNumber")
GP_InstNumAttrNode.Value = "3744"
Dim GP_IsConfigAttrNode As XmlAttribute =
xDoc.CreateAttribute("IsConfigured")
GP_IsConfigAttrNode.Value = "0"
Dim GP_ObjNameAttrNode As XmlAttribute =
xDoc.CreateAttribute("ObjectName")
GP_ObjNameAttrNode.Value = "EventEnrollment"
Dim GP_ObjTypeAttrNode As XmlAttribute =
xDoc.CreateAttribute("ObjectType")
GP_ObjTypeAttrNode.Value = "9"
Dim GP_SchemaVerAttrNode As XmlAttribute =
xDoc.CreateAttribute("SchemaVer")
GP_SchemaVerAttrNode.Value = "1.4"
Dim GP_TraceOptionsAttrNode As XmlAttribute =
xDoc.CreateAttribute("TraceOptions")
GP_TraceOptionsAttrNode.Value = "0"
EvtEnrollElem.Item("GeneralProperties").SetAttribu teNode(GP_AttrNode)
EvtEnrollElem.Item("GeneralProperties").SetAttribu teNode(GP_InstNumAttrNode)
EvtEnrollElem.Item("GeneralProperties").SetAttribu teNode(GP_IsConfigAttrNode)
EvtEnrollElem.Item("GeneralProperties").SetAttribu teNode(GP_ObjNameAttrNode)
EvtEnrollElem.Item("GeneralProperties").SetAttribu teNode(GP_ObjTypeAttrNode)
EvtEnrollElem.Item("GeneralProperties").SetAttribu teNode(GP_SchemaVerAttrNode)
EvtEnrollElem.Item("GeneralProperties").SetAttribu teNode(GP_TraceOptionsAttrNode)
newEvtEnrollElem.AppendChild(EvtEnrollElem)
End If
Dim wrtr As XmlTextWriter = New XmlTextWriter("C:\" + str2 + ".xml",
Encoding.Unicode)
xDoc.WriteTo(wrtr)
wrtr.Close()
MessageBox.Show("Added new eventenrollment element")