2020年11月26日 星期四

【C#】XDocument Descendants() 取不到東西

  1. string xml = @"<?xml version='1.0' encoding='utf-8'?>
  2. <ComputerBuildReportRequest xmlns:i='http://www.w3.org/2001/XMLSchema-instance' xmlns='http://schemas.ms.it.oem/digitaldistribution/2010/10'>
  3. <Bindings>
  4. <Binding>
  5. <ProductKeyID>1000000002</ProductKeyID>
  6. <HardwareHash>xxx</HardwareHash>
  7. <HXSpecifics>
  8. <UnitPartNumber>123456-789</UnitPartNumber>
  9. </HXSpecifics>
  10. </Binding>
  11. <Binding>
  12. <ProductKeyID>1000000003</ProductKeyID>
  13. <HardwareHash>yyy</HardwareHash>
  14. <HXSpecifics>
  15. <UnitPartNumber>123456-787</UnitPartNumber>
  16. </HXSpecifics>
  17. </Binding>
  18. </Bindings>
  19. </ComputerBuildReportRequest>";
  20. XDocument doc = XDocument.Parse(xml);
  21. var elements = doc.Descendants("Binding"); // empty
以前就碰過,一直懶得研究 XDocument 到底為什麼有時候會秀逗,直接改用 XmlDocument。 這次碰到非用不可的情況,就藉機深究下。