all groups > dotnet xml > june 2006 >
You're in the

dotnet xml

group:

single quote xml value



single quote xml value dotnetnoob
6/26/2006 1:51:01 PM
dotnet xml: EvtEnrollAttr.Value = "3748"
EvtEnrollElem.Attributes.Append(EvtEnrollAttr)

i need the attr value to be <stuff ID = '3748'> in single quote

how can i do that with visual basic.net?

thanks
Re: single quote xml value Sanjib Biswas
6/27/2006 12:00:00 AM
Use EvtEnrollAttr.Value = "'3748'" (single quote's inside double quote)

[quoted text, click to view]

Re: single quote xml value Oleg Tkachenko [MVP]
6/27/2006 12:00:00 AM
[quoted text, click to view]

Use QuoteChar property of the XmlTextWriter class:
http://msdn2.microsoft.com/en-us/library/system.xml.xmltextwriter.quotechar.aspx


--
Oleg Tkachenko [XML MVP, MCPD]
Re: single quote xml value dotnetnoob
6/27/2006 6:04:01 AM
i got error Cannot set a value on node type 'Element'. when i try single
quote inside double quote.

is there an example of how to use textwriter quotechar?

thank

[quoted text, click to view]
Re: single quote xml value dotnetnoob
6/27/2006 6:21:02 AM
ok, i figure out the error and by using single quote inside double quote i
got this value

<EventEnrollment InstanceNumber="'3748'">

it is still not the result that i want i need it to be '3748'

thanks

[quoted text, click to view]
Re: single quote xml value dotnetnoob
6/27/2006 7:36:01 AM
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><Description/></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").SetAttributeNode(EvtEnrollProp_AckRequiredAttrNode)

EvtEnrollElem.Item("EventEnrollmentProperties").SetAttributeNode(EvtEnrollProp_EvtEnabledAttrNode)

EvtEnrollElem.Item("EventEnrollmentProperties").SetAttributeNode(EvtEnrollProp_EvtTypeAttrNode)

EvtEnrollElem.Item("EventEnrollmentProperties").SetAttributeNode(EvtEnrollProp_NotifyClassAttrNode)

EvtEnrollElem.Item("EventEnrollmentProperties").SetAttributeNode(EvtEnrollProp_NotifyTypeAttrNode)

EvtEnrollElem.Item("EventEnrollmentProperties").SetAttributeNode(EvtEnrollProp_PresentValueAttrNode)

EvtEnrollElem.Item("EventEnrollmentProperties").SetAttributeNode(EvtEnrollProp_ToFaultTextAttrNode)

EvtEnrollElem.Item("EventEnrollmentProperties").SetAttributeNode(EvtEnrollProp_ToNormalTextAttrNode)

EvtEnrollElem.Item("EventEnrollmentProperties").SetAttributeNode(EvtEnrollProp_ToOffNormalTextAttrNode)

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").Item("EnabledReference").SetAttributeNode(EnRef_ObjKeyAttrNode)

EvtEnrollElem.Item("EventEnrollmentProperties").Item("EnabledReference").SetAttributeNode(EnRef_PropName)

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").Item("EventParameters").SetAttributeNode(EvtPara_BitMaskAttrNode)

EvtEnrollElem.Item("EventEnrollmentProperties").Item("EventParameters").SetAttributeNode(EvtPara_DeadbandAttrNode)

EvtEnrollElem.Item("EventEnrollmentProperties").Item("EventParameters").SetAttributeNode(EvtPara_HighDiffLimitAttrNode)

EvtEnrollElem.Item("EventEnrollmentProperties").Item("EventParameters").SetAttributeNode(EvtPara_HighLimitAttrNode)

EvtEnrollElem.Item("EventEnrollmentProperties").Item("EventParameters").SetAttributeNode(EvtPara_ListOfBitStringValuesAttrNode)

EvtEnrollElem.Item("EventEnrollmentProperties").Item("EventParameters").SetAttributeNode(EvtPara_ListOfValuesAttrNode)

RE: single quote xml value dotnetnoob
6/27/2006 8:23:02 AM
Can someone help? is it possible to switch the value from double quote to
single quote without using the xmltextwriter quotechar

[quoted text, click to view]
Re: single quote xml value Martin Honnen
6/27/2006 3:47:28 PM


[quoted text, click to view]


[quoted text, click to view]


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
Re: single quote xml value Martin Honnen
6/27/2006 6:11:41 PM


[quoted text, click to view]

If you save with that XmlTextWriter then doing e.g.
wrtr.QuoteChar = "'"C
should suffice. Obviously that will use the single quote on any
attribute, I don't think there is a way to have just one attribute value
quoted with ' and others with ".

--

Martin Honnen --- MVP XML
AddThis Social Bookmark Button