how do you insert it into the specific area of the xml file. i have done it
with DOM, but i just can't get the attribute value to go from double quote to
single quote. 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)
Dim wrtr As XmlTextWriter = New XmlTextWriter("C:\" + str2 + ".xml",
Encoding.Unicode)
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 = "'\'" + "3748" + "'\'"
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 = "3748"
Dim GP_IsConfigAttrNode As XmlAttribute =
xDoc.CreateAttribute("IsConfigured")
GP_IsConfigAttrNode.Value = "0"
Dim GP_ObjNameAttrNode As XmlAttribute =
xDoc.CreateAttribute("ObjectName")
GP_ObjNameAttrNode.Value = "test1"
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
xDoc.WriteTo(wrtr)
wrtr.Close()
MessageBox.Show("Added new eventenrollment element")
"Martin Honnen" wrote:
dotnetnoob wrote:
is there an example of how to use textwriter quotechar?
Here is a simple example with C#:
XmlTextWriter xmlWriter = new XmlTextWriter(@"file.xml",
System.Text.Encoding.UTF8);
xmlWriter.Formatting = Formatting.Indented;
xmlWriter.QuoteChar = '\'';
xmlWriter.WriteStartDocument();
xmlWriter.WriteStartElement("EventEnrollment");
xmlWriter.WriteAttributeString("InstanceNumber", "3748");
xmlWriter.WriteEndDocument();
xmlWriter.Close();
file.xml then has the contents
<?xml version='1.0' encoding='utf-8'?>
<EventEnrollment InstanceNumber='3748' />
--
Martin Honnen --- MVP XML
http://JavaScript.FAQTs.com/