如何解决通过ID过滤XML文件?
所以我试图遍历XML文件以检索某些值以备将来使用。
@property
def train(self):
return self.make_dataset(self.train_df)
@property
def val(self):
return self.make_dataset(self.val_df)
@property
def test(self):
return self.make_dataset(self.test_df)
@property
def example(self):
"""Get and cache an example batch of `inputs,labels` for plotting."""
result = getattr(self,'_example',None)
if result is None:
# No example batch was found,so get one from the `.train` dataset
result = next(iter(self.train))
# And cache it for next time
self._example = result
return result
WindowGenerator.train = train
WindowGenerator.val = val
WindowGenerator.test = test
WindowGenerator.example = example
MAX_EPOCHS = 2000
def compile_and_fit(model,window,patience=20):
early_stopping = tf.keras.callbacks.EarlyStopping(monitor='val_loss',patience=patience,mode='min')
model.compile(loss=tf.losses.MeanSquaredError(),optimizer=tf.optimizers.Adam(),metrics=[tf.metrics.MeanAbsoluteError()])
history = model.fit(window.train,epochs=MAX_EPOCHS,validation_data=window.val,callbacks=[early_stopping])
return history
OUT_STEPS = 10
multi_window = WindowGenerator(input_width=10,label_width=OUT_STEPS,shift=OUT_STEPS)
multi_window
multi_lstm_model = tf.keras.Sequential([
# Shape [batch,time,features] => [batch,lstm_units]
# Adding more `lstm_units` just overfits more quickly.
tf.keras.layers.LSTM(32,return_sequences=False),# Shape => [batch,out_steps*features]
tf.keras.layers.Dense(OUT_STEPS*num_features,kernel_initializer=tf.initializers.zeros),out_steps,features]
tf.keras.layers.Reshape([OUT_STEPS,num_features])
])
history = compile_and_fit(multi_lstm_model,multi_window)
IPython.display.clear_output()
multi_window.plot(multi_lstm_model,plot_col='B',max_subplots=3)
我设法检索了
XML看起来像这样:
public static void readFile() throws ParserConfigurationException,IOException,SAXException {
File file = new File("TrafficLightPatterns.xml");
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory
.newInstance();
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
Document document = documentBuilder.parse(file);
NodeList nodeList = document.getElementsByTagName("lights");
IntStream.range(0,nodeList.getLength()).mapToObj(nodeList::item).filter(node ->
node.getNodeType() == Node.ELEMENT_NODE).map(Node::getTextContent).map(value -> "value:" + value)
.forEach(System.out::println);
System.out.println(nodeList);
}
先谢谢大家!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。