Transform file to replace the whole parent node based on the text value of the child node - XML Transform
I need to identify the text value of the child node element.
Purpose:
I want to create Transform file for an XML file so i need to replace the parent node Connection by comparing the value of the child node ClientKey
My XML File:
<Connection>
<ClientKey>Client1</ClientKey>
<ConnectionString>Test</ConnectionString>
<WorkingDocs>Test</WorkingDocs>
<TemplateDocs>Test</TemplateDocs>
<PatientDocs>Test</PatientDocs>
<ClientName>Test</ClientName>
<ClientTimeZone>Test</ClientTimeZone>
<ClientTimeDiff>Test</ClientTimeDiff>
<ExceptionLogPath>Test</ExceptionLogPath>
</Connection>
How i can idendify the text of the ClientKey node
xml xpath transform xml-document-transform
add a comment |
I need to identify the text value of the child node element.
Purpose:
I want to create Transform file for an XML file so i need to replace the parent node Connection by comparing the value of the child node ClientKey
My XML File:
<Connection>
<ClientKey>Client1</ClientKey>
<ConnectionString>Test</ConnectionString>
<WorkingDocs>Test</WorkingDocs>
<TemplateDocs>Test</TemplateDocs>
<PatientDocs>Test</PatientDocs>
<ClientName>Test</ClientName>
<ClientTimeZone>Test</ClientTimeZone>
<ClientTimeDiff>Test</ClientTimeDiff>
<ExceptionLogPath>Test</ExceptionLogPath>
</Connection>
How i can idendify the text of the ClientKey node
xml xpath transform xml-document-transform
add a comment |
I need to identify the text value of the child node element.
Purpose:
I want to create Transform file for an XML file so i need to replace the parent node Connection by comparing the value of the child node ClientKey
My XML File:
<Connection>
<ClientKey>Client1</ClientKey>
<ConnectionString>Test</ConnectionString>
<WorkingDocs>Test</WorkingDocs>
<TemplateDocs>Test</TemplateDocs>
<PatientDocs>Test</PatientDocs>
<ClientName>Test</ClientName>
<ClientTimeZone>Test</ClientTimeZone>
<ClientTimeDiff>Test</ClientTimeDiff>
<ExceptionLogPath>Test</ExceptionLogPath>
</Connection>
How i can idendify the text of the ClientKey node
xml xpath transform xml-document-transform
I need to identify the text value of the child node element.
Purpose:
I want to create Transform file for an XML file so i need to replace the parent node Connection by comparing the value of the child node ClientKey
My XML File:
<Connection>
<ClientKey>Client1</ClientKey>
<ConnectionString>Test</ConnectionString>
<WorkingDocs>Test</WorkingDocs>
<TemplateDocs>Test</TemplateDocs>
<PatientDocs>Test</PatientDocs>
<ClientName>Test</ClientName>
<ClientTimeZone>Test</ClientTimeZone>
<ClientTimeDiff>Test</ClientTimeDiff>
<ExceptionLogPath>Test</ExceptionLogPath>
</Connection>
How i can idendify the text of the ClientKey node
xml xpath transform xml-document-transform
xml xpath transform xml-document-transform
edited Nov 25 '18 at 11:15
Chandramouli
asked Nov 24 '18 at 6:59
ChandramouliChandramouli
618
618
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
After googling i have found the solution for Config Transform in this case
We have different approaches
1. Condition(ClientKey/text()='Client1')
2. XPath(/Connections/Connection[ClientKey/text()='UHG_LOCAL'])
<Connection xdt:Transform="Replace" xdt:Locator="Condition(ClientKey/text()='Client1')">
<ClientKey>GC_LOCAL</ClientKey>
<ConnectionString>Test1</ConnectionString>
<WorkingDocs>Test1</WorkingDocs>
<TemplateDocs>Test1</TemplateDocs>
<PatientDocs>Test1</PatientDocs>
<ClientName>Test1</ClientName>
<ClientTimeZone>Test1</ClientTimeZone>
<ClientTimeDiff>Test1</ClientTimeDiff>
<ExceptionLogPath>Test1</ExceptionLogPath>
</Connection>
add a comment |
Understanding LINQ to XML can be of more use.. Please check out https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/linq/linq-to-xml-overview
XML values can be stored under "Elements" or "Attributes".. Consider below xml file..
<Connection>
<ClientKey Name = "KeyName" >Client1</ClientKey>
<ConnectionString>Test</ConnectionString>
<WorkingDocs>Test</WorkingDocs>
<TemplateDocs>Test</TemplateDocs>
<PatientDocs>Test</PatientDocs>
<ClientName>Test</ClientName>
<ClientTimeZone>Test</ClientTimeZone>
<ClientTimeDiff>Test</ClientTimeDiff>
<ExceptionLogPath>Test</ExceptionLogPath>
XElement Data = XElement.Load() //Your Xml reference here
- To obtain Element value:
(client key is the element)
String result = data.Element("ClientKey").value
- To obtain Attribute value: (Attribute is the Name property inside ClientKey)
String result = data.Attribute("Name").value
Here the concept of getting child node value is different than the actual programming. This is related to the config transform file. I have updated my question to made my question more clear.
– Chandramouli
Nov 25 '18 at 11:22
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53455931%2ftransform-file-to-replace-the-whole-parent-node-based-on-the-text-value-of-the-c%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
After googling i have found the solution for Config Transform in this case
We have different approaches
1. Condition(ClientKey/text()='Client1')
2. XPath(/Connections/Connection[ClientKey/text()='UHG_LOCAL'])
<Connection xdt:Transform="Replace" xdt:Locator="Condition(ClientKey/text()='Client1')">
<ClientKey>GC_LOCAL</ClientKey>
<ConnectionString>Test1</ConnectionString>
<WorkingDocs>Test1</WorkingDocs>
<TemplateDocs>Test1</TemplateDocs>
<PatientDocs>Test1</PatientDocs>
<ClientName>Test1</ClientName>
<ClientTimeZone>Test1</ClientTimeZone>
<ClientTimeDiff>Test1</ClientTimeDiff>
<ExceptionLogPath>Test1</ExceptionLogPath>
</Connection>
add a comment |
After googling i have found the solution for Config Transform in this case
We have different approaches
1. Condition(ClientKey/text()='Client1')
2. XPath(/Connections/Connection[ClientKey/text()='UHG_LOCAL'])
<Connection xdt:Transform="Replace" xdt:Locator="Condition(ClientKey/text()='Client1')">
<ClientKey>GC_LOCAL</ClientKey>
<ConnectionString>Test1</ConnectionString>
<WorkingDocs>Test1</WorkingDocs>
<TemplateDocs>Test1</TemplateDocs>
<PatientDocs>Test1</PatientDocs>
<ClientName>Test1</ClientName>
<ClientTimeZone>Test1</ClientTimeZone>
<ClientTimeDiff>Test1</ClientTimeDiff>
<ExceptionLogPath>Test1</ExceptionLogPath>
</Connection>
add a comment |
After googling i have found the solution for Config Transform in this case
We have different approaches
1. Condition(ClientKey/text()='Client1')
2. XPath(/Connections/Connection[ClientKey/text()='UHG_LOCAL'])
<Connection xdt:Transform="Replace" xdt:Locator="Condition(ClientKey/text()='Client1')">
<ClientKey>GC_LOCAL</ClientKey>
<ConnectionString>Test1</ConnectionString>
<WorkingDocs>Test1</WorkingDocs>
<TemplateDocs>Test1</TemplateDocs>
<PatientDocs>Test1</PatientDocs>
<ClientName>Test1</ClientName>
<ClientTimeZone>Test1</ClientTimeZone>
<ClientTimeDiff>Test1</ClientTimeDiff>
<ExceptionLogPath>Test1</ExceptionLogPath>
</Connection>
After googling i have found the solution for Config Transform in this case
We have different approaches
1. Condition(ClientKey/text()='Client1')
2. XPath(/Connections/Connection[ClientKey/text()='UHG_LOCAL'])
<Connection xdt:Transform="Replace" xdt:Locator="Condition(ClientKey/text()='Client1')">
<ClientKey>GC_LOCAL</ClientKey>
<ConnectionString>Test1</ConnectionString>
<WorkingDocs>Test1</WorkingDocs>
<TemplateDocs>Test1</TemplateDocs>
<PatientDocs>Test1</PatientDocs>
<ClientName>Test1</ClientName>
<ClientTimeZone>Test1</ClientTimeZone>
<ClientTimeDiff>Test1</ClientTimeDiff>
<ExceptionLogPath>Test1</ExceptionLogPath>
</Connection>
answered Nov 24 '18 at 8:11
ChandramouliChandramouli
618
618
add a comment |
add a comment |
Understanding LINQ to XML can be of more use.. Please check out https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/linq/linq-to-xml-overview
XML values can be stored under "Elements" or "Attributes".. Consider below xml file..
<Connection>
<ClientKey Name = "KeyName" >Client1</ClientKey>
<ConnectionString>Test</ConnectionString>
<WorkingDocs>Test</WorkingDocs>
<TemplateDocs>Test</TemplateDocs>
<PatientDocs>Test</PatientDocs>
<ClientName>Test</ClientName>
<ClientTimeZone>Test</ClientTimeZone>
<ClientTimeDiff>Test</ClientTimeDiff>
<ExceptionLogPath>Test</ExceptionLogPath>
XElement Data = XElement.Load() //Your Xml reference here
- To obtain Element value:
(client key is the element)
String result = data.Element("ClientKey").value
- To obtain Attribute value: (Attribute is the Name property inside ClientKey)
String result = data.Attribute("Name").value
Here the concept of getting child node value is different than the actual programming. This is related to the config transform file. I have updated my question to made my question more clear.
– Chandramouli
Nov 25 '18 at 11:22
add a comment |
Understanding LINQ to XML can be of more use.. Please check out https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/linq/linq-to-xml-overview
XML values can be stored under "Elements" or "Attributes".. Consider below xml file..
<Connection>
<ClientKey Name = "KeyName" >Client1</ClientKey>
<ConnectionString>Test</ConnectionString>
<WorkingDocs>Test</WorkingDocs>
<TemplateDocs>Test</TemplateDocs>
<PatientDocs>Test</PatientDocs>
<ClientName>Test</ClientName>
<ClientTimeZone>Test</ClientTimeZone>
<ClientTimeDiff>Test</ClientTimeDiff>
<ExceptionLogPath>Test</ExceptionLogPath>
XElement Data = XElement.Load() //Your Xml reference here
- To obtain Element value:
(client key is the element)
String result = data.Element("ClientKey").value
- To obtain Attribute value: (Attribute is the Name property inside ClientKey)
String result = data.Attribute("Name").value
Here the concept of getting child node value is different than the actual programming. This is related to the config transform file. I have updated my question to made my question more clear.
– Chandramouli
Nov 25 '18 at 11:22
add a comment |
Understanding LINQ to XML can be of more use.. Please check out https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/linq/linq-to-xml-overview
XML values can be stored under "Elements" or "Attributes".. Consider below xml file..
<Connection>
<ClientKey Name = "KeyName" >Client1</ClientKey>
<ConnectionString>Test</ConnectionString>
<WorkingDocs>Test</WorkingDocs>
<TemplateDocs>Test</TemplateDocs>
<PatientDocs>Test</PatientDocs>
<ClientName>Test</ClientName>
<ClientTimeZone>Test</ClientTimeZone>
<ClientTimeDiff>Test</ClientTimeDiff>
<ExceptionLogPath>Test</ExceptionLogPath>
XElement Data = XElement.Load() //Your Xml reference here
- To obtain Element value:
(client key is the element)
String result = data.Element("ClientKey").value
- To obtain Attribute value: (Attribute is the Name property inside ClientKey)
String result = data.Attribute("Name").value
Understanding LINQ to XML can be of more use.. Please check out https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/linq/linq-to-xml-overview
XML values can be stored under "Elements" or "Attributes".. Consider below xml file..
<Connection>
<ClientKey Name = "KeyName" >Client1</ClientKey>
<ConnectionString>Test</ConnectionString>
<WorkingDocs>Test</WorkingDocs>
<TemplateDocs>Test</TemplateDocs>
<PatientDocs>Test</PatientDocs>
<ClientName>Test</ClientName>
<ClientTimeZone>Test</ClientTimeZone>
<ClientTimeDiff>Test</ClientTimeDiff>
<ExceptionLogPath>Test</ExceptionLogPath>
XElement Data = XElement.Load() //Your Xml reference here
- To obtain Element value:
(client key is the element)
String result = data.Element("ClientKey").value
- To obtain Attribute value: (Attribute is the Name property inside ClientKey)
String result = data.Attribute("Name").value
answered Nov 24 '18 at 8:15
Senguttuvan MahalingamSenguttuvan Mahalingam
764
764
Here the concept of getting child node value is different than the actual programming. This is related to the config transform file. I have updated my question to made my question more clear.
– Chandramouli
Nov 25 '18 at 11:22
add a comment |
Here the concept of getting child node value is different than the actual programming. This is related to the config transform file. I have updated my question to made my question more clear.
– Chandramouli
Nov 25 '18 at 11:22
Here the concept of getting child node value is different than the actual programming. This is related to the config transform file. I have updated my question to made my question more clear.
– Chandramouli
Nov 25 '18 at 11:22
Here the concept of getting child node value is different than the actual programming. This is related to the config transform file. I have updated my question to made my question more clear.
– Chandramouli
Nov 25 '18 at 11:22
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53455931%2ftransform-file-to-replace-the-whole-parent-node-based-on-the-text-value-of-the-c%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown